/* eslint-disable */
import i18n from '@/i18n'
import { set } from 'lodash';
import store from '@/store'
import {cloneDeep} from 'lodash'

const i18nT = key => {
  return i18n.t(key)
}

export const dashboardGadgetList = [
  // Test Gadget
  // {
  //   key: 'edwinTestGadget',
  //   title: i18nT('custom.dashboard.layoutItem.gridTitle'),
  //   label: i18nT('custom.dashboard.layoutItem.gridLabel'),
  //   imageUrl: 'https://oss.mspbots.ai/app/dashboard/20200708170303.png',
  //   group: 'published',
  //   moreMenu: { hasMenu: false, menuList: [] },
  //   x: 0,
  //   y: 0,
  //   w: 6,
  //   h: 21
  // },
  // =============================== published =====================================
  {
    key: '',
    moreMenu: {
      hasMenu: false,
      menuList: [{
        type: 'filter',
        label: 'Filter'
      }]
    }
  },
  {
    key: 'grid',
    title: i18nT('custom.dashboard.layoutItem.gridTitle'),
    label: i18nT('custom.dashboard.layoutItem.gridLabel'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/20200708170303.png',
    group: '',
    moreMenu: {
      hasMenu: true,
      menuList: [{
        type: 'filter',
        label: 'Filter'
      }]
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'gridgadget',
    title: i18nT('custom.dashboard.layoutItem.gridgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.gridgadgetLabel'),
    introduction: i18nT('custom.dashboard.layoutItem.gridIntroduction'),

    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/grid.png',
    group: 'published',
    status: 'Published',
    type: 'widget',
    moreMenu: {
      hasMenu: true,
      hasBot: true,
      menuList: [{
        type: 'edit',
        label: 'Edit',
        icon: 'cuifont icon_edit'
      },
      {
        type: 'filter',
        label: 'Filter',
        icon: 'cuifont icon_filter'
      },
      {
        type: 'refresh',
        label: 'Refresh',
        icon: 'cuifont icon_arrow_clockwise'
      },
      {
        type: 'copyurl',
        label: 'Copy URL',
        icon: 'cuifont icon_copy_link'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }
      ]
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'htmleditorgadget',
    title: i18nT('custom.dashboard.layoutItem.htmleditorgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.htmleditorgadgetLable'),
    introduction: i18nT('custom.dashboard.layoutItem.htmleditorIntroduction'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/html.png',
    group: 'published',
    status: 'Published',
    type: 'widget',
    moreMenu: {
      hasMenu: true,
      hasBot: false,
      menuList: [{
        type: 'edit',
        label: 'Edit',
        icon: 'cuifont icon_edit'
      },
      {
        type: 'copyurl',
        label: 'Copy URL',
        icon: 'cuifont icon_copy_link'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }
      ]
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'checklistgadget',
    title: i18nT('custom.dashboard.layoutItem.checklistgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.checklistgadgetLabel'),
    introduction: i18nT('custom.dashboard.layoutItem.checklistIntroduction'),

    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/checklist.png',
    group: 'published',
    status: 'Published',
    type: 'widget',
    moreMenu: {
      hasMenu: true,
      menuList: [{
        type: 'filter',
        label: 'Filter',
        icon: 'cuifont icon_filter'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }]
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'hierarchygridgadget',
    title: i18nT('custom.dashboard.layoutItem.hierarchygridgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.hierarchygridgadgetLabel'),
    introduction: i18nT('custom.dashboard.layoutItem.hierarchyIntroduction'),

    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/hierarchy_grid.png',
    group: 'published',
    status: 'Published',
    type: 'widget',
    moreMenu: {
      hasMenu: true,
      hasBot: false,
      menuList: [{
        type: 'edit',
        label: 'Edit',
        icon: 'cuifont icon_edit'
      },
      {
        type: 'filter',
        label: 'Filter',
        icon: 'cuifont icon_filter'
      },
      {
        type: 'refresh',
        label: 'Refresh',
        icon: 'cuifont icon_arrow_clockwise'
      },
      {
        type: 'copyurl',
        label: 'Copy URL',
        icon: 'cuifont icon_copy_link'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }
      ]
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'charthourglassgadget',
    title: i18nT('custom.dashboard.layoutItem.charthourglassgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.hourglassgadgetLabel'),
    introduction: i18nT('custom.dashboard.layoutItem.charthourglassIntroduction'),

    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/funnel.png',
    group: 'published',
    status: 'Published',
    type: 'widget',
    moreMenu: {
      hasMenu: true,
      hasBot: true,
      menuList: [{
        type: 'edit',
        label: 'Edit',
        icon: 'cuifont icon_edit'
      },
      {
        type: 'filter',
        label: 'Filter',
        icon: 'cuifont icon_filter'
      },
      {
        type: 'refresh',
        label: 'Refresh',
        icon: 'cuifont icon_arrow_clockwise'
      },
      {
        type: 'copyurl',
        label: 'Copy URL',
        icon: 'cuifont icon_copy_link'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }
      ]
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'crudformgadget',
    title: i18nT('custom.dashboard.layoutItem.crudformgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.crudformgadgetLabel'),
    introduction: i18nT('custom.dashboard.layoutItem.crudformIntroduction'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/crud_form.png',
    group: 'published',
    status: 'Published',
    type: 'widget',
    moreMenu: {
      hasMenu: true,
      hasBot: false,
      menuList: [{
        type: 'edit',
        label: 'Edit',
        icon: 'cuifont icon_edit'
      },
      {
        type: 'filter',
        label: 'Filter',
        icon: 'cuifont icon_filter'
      },
      {
        type: 'refresh',
        label: 'Refresh',
        icon: 'cuifont icon_arrow_clockwise'
      },
      {
        type: 'copyurl',
        label: 'Copy URL',
        icon: 'cuifont icon_copy_link'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }
      ]
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'formviewdatagadget',
    title: i18nT('custom.dashboard.layoutItem.formviewdatagadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.formviewLabel'),
    introduction: i18nT('custom.dashboard.layoutItem.formviewIntroduction'),

    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/form_view.png',
    group: 'published',
    status: 'Published',
    type: 'widget',
    moreMenu: {
      hasMenu: true,
      menuList: [{
        type: 'filter',
        label: 'Filter'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }]
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'cardnumbergadget',
    title: i18nT('custom.dashboard.layoutItem.cardnumbergadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.cardnumbergadgetLable'),
    introduction: i18nT('custom.dashboard.layoutItem.cardnumberIntroduction'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/card_number.png',
    group: 'published',
    type: 'widget',
    status: 'Published',
    moreMenu: {
      hasMenu: true,
      hasBot: true,
      menuList: [{
        type: 'edit',
        label: 'Edit',
        icon: 'cuifont icon_edit'
      },
      {
        type: 'filter',
        label: 'Filter',
        icon: 'cuifont icon_filter'
      },
      {
        type: 'refresh',
        label: 'Refresh',
        icon: 'cuifont icon_arrow_clockwise'
      },
      {
        type: 'copyurl',
        label: 'Copy URL',
        icon: 'cuifont icon_copy_link'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }
      ],
    },
    x: 0,
    y: 0,
    w: 3,
    h: 16
  },
  {
    key: 'litikugadget',
    title: i18nT('custom.dashboard.layoutItem.litikugadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.litikugadgetLable'),
    introduction: i18nT('custom.dashboard.layoutItem.cardnumberIntroduction'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/litikugadget.png',
    group: 'published',
    type: 'widget',
    status: 'In-Dev',
    moreMenu: {
      hasMenu: true,
      hasBot: true,
      menuList: [{
        type: 'edit',
        label: 'Edit',
        icon: 'cuifont icon_edit'
      },
      {
        type: 'filter',
        label: 'Filter',
        icon: 'cuifont icon_filter'
      },
      {
        type: 'refresh',
        label: 'Refresh',
        icon: 'cuifont icon_arrow_clockwise'
      },
      {
        type: 'copyurl',
        label: 'Copy URL',
        icon: 'cuifont icon_copy_link'
      }
      ],
    },
    x: 0,
    y: 0,
    w: 3,
    h: 16
  },
  {
    key: 'processgaugegadget',
    title: i18nT('custom.dashboard.layoutItem.processgaugegadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.processgaugegadgetLable'),
    introduction: i18nT('custom.dashboard.layoutItem.processgaugeIntroduction'),

    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/process_gauge.png',
    group: 'published',
    type: 'widget',
    status: 'Published',
    moreMenu: {
      hasMenu: true,
      hasBot: true,
      menuList: [{
        type: 'edit',
        label: 'Edit',
        icon: 'cuifont icon_edit'
      },
      {
        type: 'filter',
        label: 'Filter',
        icon: 'cuifont icon_filter'
      },
      {
        type: 'refresh',
        label: 'Refresh',
        icon: 'cuifont icon_arrow_clockwise'
      },
      {
        type: 'copyurl',
        label: 'Copy URL',
        icon: 'cuifont icon_copy_link'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }
      ]
    },
    x: 0,
    y: 0,
    w: 3,
    h: 16
  },
  {
    key: 'scattergadget',
    title: i18nT('custom.dashboard.layoutItem.scattergadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.scattergadgetLable'),
    introduction: i18nT('custom.dashboard.layoutItem.scatterIntroduction'),

    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/bubbles_chart.png',
    group: 'published',
    type: 'widget',
    status: 'Published',
    moreMenu: {
      hasMenu: true,
      hasBot: false,
      menuList: [{
        type: 'edit',
        label: 'Edit',
        icon: 'cuifont icon_edit'
      },
      {
        type: 'filter',
        label: 'Filter',
        icon: 'cuifont icon_filter'
      },
      {
        type: 'refresh',
        label: 'Refresh',
        icon: 'cuifont icon_arrow_clockwise'
      },
      {
        type: 'copyurl',
        label: 'Copy URL',
        icon: 'cuifont icon_copy_link'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }
      ]
    },
    x: 0,
    y: 0,
    w: 3,
    h: 16
  },
  // {
  //   key: 'treemapgadget',
  //   title: i18nT('custom.dashboard.layoutItem.treemapgadgetTitle'),
  //   label: i18nT('custom.dashboard.layoutItem.treemapgadgetLable'),
  //   imageUrl: 'https://oss.mspbots.ai/app/mspbots_theme_icon/tree_map.png',
  //   group: 'in-dev',
  //   type: 'widget',
  //   status: 'In-Dev',
  //   moreMenu: {
  //     hasMenu: true,
  //     menuList: [{
  //       type: 'filter',
  //       label: 'Filter'
  //     }]
  //   },
  //   x: 0,
  //   y: 0,
  //   w: 3,
  //   h: 16
  // },
  // {
  //   key: 'treemapgadget',
  //   title: i18nT('custom.dashboard.layoutItem.treemapgadgetTitle'),
  //   label: i18nT('custom.dashboard.layoutItem.treemapgadgetLable'),
  //   imageUrl: 'https://oss.mspbots.ai/app/dashboard/card-number.png',
  //   group: 'in-dev',
  //   type:'widget',
  //   status:'In-Dev',
  //   moreMenu: { hasMenu: true, menuList: [{ type: 'filter', label: 'Filter' }] },
  //   x: 0,
  //   y: 0,
  //   w: 3,
  //   h: 16
  // },
  {
    key: 'drilldowntreemapgadget',
    title: i18nT('custom.dashboard.layoutItem.drilldowntreemapgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.drilldowntreemapgadgetLable'),
    introduction: i18nT('custom.dashboard.layoutItem.drilldowntreemapIntroduction'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/tree_map.png',
    group: 'published',
    type: 'widget',
    status: 'Published',
    moreMenu: {
      hasMenu: true,
      hasBot: false,
      menuList: [{
        type: 'edit',
        label: 'Edit',
        icon: 'cuifont icon_edit'
      },
      {
        type: 'filter',
        label: 'Filter',
        icon: 'cuifont icon_filter'
      },
      {
        type: 'refresh',
        label: 'Refresh',
        icon: 'cuifont icon_arrow_clockwise'
      },
      {
        type: 'copyurl',
        label: 'Copy URL',
        icon: 'cuifont icon_copy_link'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }
      ]
    },
    x: 0,
    y: 0,
    w: 3,
    h: 16
  },
  // =============================== inDev =====================================
  {
    key: 'pvtable',
    title: i18nT('custom.dashboard.layoutItem.pvtablegadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.pvtableLabel'),
    introduction: i18nT('custom.dashboard.layoutItem.pvtableIntroduction'),

    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/20200708170310.png',
    group: 'inDev',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 8,
    h: 24
  },
  {
    key: 'RemoteGadget',
    title: i18nT('custom.dashboard.layoutItem.remoteGadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.remoteGadgetLabel'),
    introduction: i18nT('custom.dashboard.layoutItem.remoteGadgetIntroduction'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/line_chart.png',
    group: 'in-dev',
    type: 'widget',
    status: 'In-Dev',
    moreMenu: {
    
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'chartgadget',
    title: i18nT('custom.dashboard.layoutItem.chartgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.chartgadgetLabel'),
    introduction: i18nT('custom.dashboard.layoutItem.chartIntroduction'),

    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/line_chart.png',
    group: 'published',
    type: 'widget',
    status: 'Published',
    moreMenu: {
      hasMenu: true,
      hasBot: true,
      menuList: [{
        type: 'edit',
        label: 'Edit',
        icon: 'cuifont icon_edit'
      },
      {
        type: 'filter',
        label: 'Filter',
        icon: 'cuifont icon_filter'
      },
      {
        type: 'refresh',
        label: 'Refresh',
        icon: 'cuifont icon_arrow_clockwise'
      },
      {
        type: 'copyurl',
        label: 'Copy URL',
        icon: 'cuifont icon_copy_link'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }
      ]
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'barchartgadget',
    title: i18nT('custom.dashboard.layoutItem.barchartgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.barchartgadgetLabel'),
    introduction: i18nT('custom.dashboard.layoutItem.barchartIntroduction'),

    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/bar_chart.png',
    group: 'published',
    type: 'widget',
    status: 'Published',
    moreMenu: {
      hasMenu: true,
      hasBot: true,
      menuList: [{
        type: 'edit',
        label: 'Edit',
        icon: 'cuifont icon_edit'
      },
      {
        type: 'filter',
        label: 'Filter',
        icon: 'cuifont icon_filter'
      },
      {
        type: 'refresh',
        label: 'Refresh',
        icon: 'cuifont icon_arrow_clockwise'
      },
      {
        type: 'copyurl',
        label: 'Copy URL',
        icon: 'cuifont icon_copy_link'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }
      ]
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },

  {
    key: 'radarchartgadget',
    title: i18nT('custom.dashboard.layoutItem.radarchartgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.radarchartgadgetLabel'),
    introduction: i18nT('custom.dashboard.layoutItem.radarchartIntroduction'),

    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/radar_chart.png',
    group: 'published',
    type: 'widget',
    status: 'Published',
    moreMenu: {
      hasMenu: true,
      hasBot: true,
      menuList: [{
        type: 'edit',
        label: 'Edit',
        icon: 'cuifont icon_edit'
      },
      {
        type: 'filter',
        label: 'Filter',
        icon: 'cuifont icon_filter'
      },
      {
        type: 'refresh',
        label: 'Refresh',
        icon: 'cuifont icon_arrow_clockwise'
      },
      {
        type: 'copyurl',
        label: 'Copy URL',
        icon: 'cuifont icon_copy_link'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }
      ]
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'tablegadget',
    title: i18nT('custom.dashboard.layoutItem.tablegadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.tablegadgetLabel'),
    introduction: i18nT('custom.dashboard.layoutItem.tableIntroduction'),

    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/table.png',
    group: 'published',
    type: 'widget',
    status: 'Published',
    moreMenu: {
      hasMenu: true,
      hasBot: true,
      menuList: [{
        type: 'edit',
        label: 'Edit',
        icon: 'cuifont icon_edit'
      },
      {
        type: 'filter',
        label: 'Filter',
        icon: 'cuifont icon_filter'
      },
      {
        type: 'refresh',
        label: 'Refresh',
        icon: 'cuifont icon_arrow_clockwise'
      },
      {
        type: 'copyurl',
        label: 'Copy URL',
        icon: 'cuifont icon_copy_link'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }
      ]
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },

  {
    key: 'piechartgadget',
    title: i18nT('custom.dashboard.layoutItem.piechartgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.piechartgadgetLabel'),
    introduction: i18nT('custom.dashboard.layoutItem.piechartIntroduction'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/pie_chart.png',
    group: 'published',
    status: 'Published',
    type: 'widget',
    moreMenu: {
      hasMenu: true,
      hasBot: true,
      menuList: [{
        type: 'edit',
        label: 'Edit',
        icon: 'cuifont icon_edit'
      },
      {
        type: 'filter',
        label: 'Filter',
        icon: 'cuifont icon_filter'
      },
      {
        type: 'refresh',
        label: 'Refresh',
        icon: 'cuifont icon_arrow_clockwise'
      },
      {
        type: 'copyurl',
        label: 'Copy URL',
        icon: 'cuifont icon_copy_link'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }
      ]
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'heatmapgadget',
    title: i18nT('custom.dashboard.layoutItem.heatmapgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.heatmapgadgetTitle'),
    introduction: i18nT('custom.dashboard.layoutItem.heatmapgadgetTitle'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/heatmap.png',
    group: 'published',
    status: 'Published',
    type: 'widget',
    moreMenu: {
      hasMenu: true,
      hasBot: true,
      menuList: [{
        type: 'edit',
        label: 'Edit',
        icon: 'cuifont icon_edit'
      },
      {
        type: 'filter',
        label: 'Filter',
        icon: 'cuifont icon_filter'
      },
      {
        type: 'refresh',
        label: 'Refresh',
        icon: 'cuifont icon_arrow_clockwise'
      },
      {
        type: 'copyurl',
        label: 'Copy URL',
        icon: 'cuifont icon_copy_link'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }
      ]
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  // {
  //   key: 'processgaugegadget',
  //   title: i18nT('custom.dashboard.layoutItem.processgaugegadgetTitle'),
  //   label: i18nT('custom.dashboard.layoutItem.processgaugegadgetLable'),
  //   imageUrl: 'https://oss.mspbots.ai/app/dashboard/process-gauge.png',
  //   group: 'published',
  //   type:'widget',
  //   status:'Published',
  //   moreMenu: { hasMenu: false, menuList: [] },
  //   x: 0,
  //   y: 0,
  //   w: 6,
  //   h: 21
  // },
  // {
  //   key: 'listmenu',
  //   title: i18nT('custom.dashboard.layoutItem.listmenuTitle'),
  //   label: i18nT('custom.dashboard.layoutItem.listmenuLabel'),
  //   imageUrl: 'https://oss.mspbots.ai/app/dashboard/20200708170247.png',
  //   group: 'inDev',
  //   moreMenu: { hasMenu: false, menuList: [] },
  //   x: 0,
  //   y: 0,
  //   w: 6,
  //   h: 21
  // },
  {
    key: 'dateRangeSlicer',
    title: i18nT('custom.dashboard.layoutItem.dateRangeSlicerTitle'),
    label: i18nT('custom.dashboard.layoutItem.daterangeSlicerLabel'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/slicer_date_range.png',
    group: 'published', //'inDev',
    type: 'slicer',
    status: 'Published',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 3,
    h: 2
  },
  {
    key: 'runReport',
    title: i18nT('custom.dashboard.layoutItem.runReportTitle'),
    label: i18nT('custom.dashboard.layoutItem.runreportLabel'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/button.png',
    group: 'inDev',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 1,
    h: 3
  },
  {
    key: 'kpigadget',
    title: i18nT('custom.dashboard.layoutItem.kpigadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.kpiLabel'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/20200713111020.png',
    group: 'inDev',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 4,
    h: 10
  },
  {
    key: 'circulargauge',
    title: i18nT('custom.dashboard.layoutItem.circulargaugeTitle'),
    label: i18nT('custom.dashboard.layoutItem.circularguagegadgetLabel'),
    introduction: i18nT('custom.dashboard.layoutItem.hierarchyIntroduction'),

    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/20200713110301.png',
    group: 'inDev',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 3,
    h: 16
  },
  {
    key: 'cardicon',
    title: i18nT('custom.dashboard.layoutItem.cardiconTitle'),
    label: i18nT('custom.dashboard.layoutItem.cardicongadgetLabel'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/icon-card.png',
    group: 'inDev',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 3,
    h: 16
  },
  {
    key: 'cardlinegadget',
    title: i18nT('custom.dashboard.layoutItem.cardlinegadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.cardlinegadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/cardline.png',
    group: 'inDev',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'dateSlicer',
    title: i18nT('custom.dashboard.layoutItem.dateSlicerTitle'),
    label: i18nT('custom.dashboard.layoutItem.dateslicergadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/monthdatepicker.png',
    group: 'inDev',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 2,
    h: 3
  },
  {
    key: 'autorefreshgadget',
    title: i18nT('custom.dashboard.layoutItem.autorefreshgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.autorefreshgadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/auto-refresh.png',
    group: 'inDev',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 1,
    h: 3
  },
  {
    key: 'dropdownlistgadget',
    title: i18nT('custom.dashboard.layoutItem.dropdownlistgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.dropdownlistgadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/slicer_dropdown_list.png',
    group: 'published', //'inDev',
    type: 'slicer',
    status: 'Published',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 4,
    h: 2
  },
  {
    key: 'enterinputgadget',
    title: i18nT('custom.dashboard.layoutItem.enterinputgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.enterinputgadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] +'/app/mspbots_theme_icon/slicer_input.png',
    group: 'published', //'inDev',
    type: 'slicer',
    status: 'Published',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 4,
    h: 3
  },
  {
    key: 'cascadergadget',
    title: i18nT('custom.dashboard.layoutItem.cascadergadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.cascadergadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/slicer_dropdown_list.png',
    group: 'published', //'inDev',
    type: 'slicer',
    status: 'Published',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 4,
    h: 2
  },
  {
    key: 'treegridgadget',
    title: i18nT('custom.dashboard.layoutItem.treegridgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.treegridgadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/tree_grid.png',
    group: 'published', //'inDev',
    type: 'widget',
    status: 'Published',
    moreMenu: {
      hasMenu: true,
      hasBot: false,
      menuList: [{
        type: 'edit',
        label: 'Edit',
        icon: 'cuifont icon_edit'
      },
      {
        type: 'refresh',
        label: 'Refresh',
        icon: 'cuifont icon_arrow_clockwise'
      },
      {
        type: 'copyurl',
        label: 'Copy URL',
        icon: 'cuifont icon_copy_link'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }
      ]
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'menulistgadget',
    title: i18nT('custom.dashboard.layoutItem.menulistgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.menulistgadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/auto-refresh.png',
    group: 'inDev',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'linkbuttongadget',
    title: i18nT('custom.dashboard.layoutItem.linkbuttongadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.linkbuttongadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/link-button.png',
    group: 'inDev',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 1,
    h: 3
  },
  {
    key: 'checkboxgadget',
    title: i18nT('custom.dashboard.layoutItem.checkboxgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.checkboxgadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/checkbox.png',
    group: 'inDev',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 1,
    h: 3
  },
  {
    key: 'multiselectgadget',
    title: i18nT('custom.dashboard.layoutItem.multiselectgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.multiselectgadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/slicer_dropdown_list.png',
    group: 'inDev',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'placeholdergadget',
    title: i18nT('custom.dashboard.layoutItem.placeholdergadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.placeholdergadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/place-holder.png',
    group: 'inDev',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'cardlablegadget',
    title: i18nT('custom.dashboard.layoutItem.cardlablegadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.cardlablegadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/place-holder.png',
    group: 'inDev',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'kanbangadget',
    title: i18nT('custom.dashboard.layoutItem.kanbangadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.kanbangadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/place-holder.png',
    group: 'inDev',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'pageheadergadget',
    title: i18nT('custom.dashboard.layoutItem.pageheadergadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.pageheadergadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/place-holder.png',
    group: 'inDev',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 12,
    h: 3
  },
  {
    key: 'pageheadergadgetnexticket',
    title: i18nT('custom.dashboard.layoutItem.pageheadergadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.pageheadergadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/place-holder.png',
    group: 'inDev',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 12,
    h: 3
  },
  // =============================== customized =====================================
  {
    key: 'usertimezoneinfocardgadget',
    title: i18nT('custom.dashboard.layoutItem.usertimezoneinfocardgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.usertimezoneinfocardgadgetLable'),
    introduction: i18nT('custom.dashboard.layoutItem.usertimezoneinfocardIntroduction'),

    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/timezone.png',
    group: 'published',
    type: 'widget',
    status: 'Published',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'bottriggerreportgadget',
    title: i18nT('custom.dashboard.layoutItem.bottriggerreportgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.bottriggerreportgadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/bot-trigger-report.png',
    group: 'customized',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'bottriggerpvtablegadget',
    title: i18nT('custom.dashboard.layoutItem.bottriggerpvtablegadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.bottriggerpvtablegadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/bot-trigger-report.png',
    group: 'customized',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'crudgadget',
    title: i18nT('custom.dashboard.layoutItem.crudgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.crudgadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/bot-trigger-report.png',
    group: 'customized',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'attendancegadget',
    title: i18nT('custom.dashboard.layoutItem.attendancegadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.attendancegadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/bot-trigger-report.png',
    group: 'customized',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'recordgadget',
    title: i18nT('custom.dashboard.layoutItem.recordgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.recordgadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/bot-trigger-report.png',
    group: 'customized',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'usergadget',
    title: i18nT('custom.dashboard.layoutItem.usergadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.usergadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/bot-trigger-report.png',
    group: 'customized',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'botsgadget',
    title: i18nT('custom.dashboard.layoutItem.botsgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.botsgadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/bot-trigger-report.png',
    group: 'customized',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'workschedulegadget',
    title: i18nT('custom.dashboard.layoutItem.workschedulegadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.workschedulegadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/bot-trigger-report.png',
    group: 'customized',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  // {
  //   key: 'bottriggeruserreportgadget',
  //   title: i18nT('custom.dashboard.layoutItem.bottriggerreportgadgetTitle'),
  //   label: i18nT('custom.dashboard.layoutItem.bottriggerreportgadgetLable'),
  //   imageUrl: 'https://oss.mspbots.ai/app/dashboard/bot-trigger-report.png',
  //   group: 'customized',
  //   moreMenu: { hasMenu: false, menuList: [] },
  //   x: 0,
  //   y: 0,
  //   w: 6,
  //   h: 21
  // },
  {
    key: 'stepgadget',
    title: i18nT('custom.dashboard.layoutItem.stepgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.getstartprogressLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/getstartedprogress.png',
    group: 'customized',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'newstepgadget',
    title: i18nT('custom.dashboard.layoutItem.newstepgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.newgetstartprogressLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/getstartedprogress.png',
    group: 'customized',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'homepagegadget',
    title: i18nT('custom.dashboard.layoutItem.pagehomegadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.pagehomegadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/place-holder.png',
    group: 'customized',
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'customizedmultiselectgadget',
    title: i18nT('custom.dashboard.layoutItem.customizedmultiselectgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.customizedmultiselectgadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/customized-multiSelect-dropdown.png',
    group: 'customized',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'customizeduserdropdownlistgadget',
    title: i18nT('custom.dashboard.layoutItem.customizeduserdropdownlistgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.customizeduserdropdownlistgadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/slicer_user_dropdown.png',
    group: 'published', //'inDev',
    type: 'slicer',
    status: 'Published',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 6,
    h: 2
  },
  {
    key: 'customizedusermultipledropdownlistgadget',
    title: i18nT('custom.dashboard.layoutItem.customizedusermultipledropdownlistgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.customizedusermultipledropdownlistgadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/dropdown-list.png',
    group: 'customized',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'deptdefaultslicergadget',
    title: i18nT('custom.dashboard.layoutItem.deptdefaultslicergadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.deptdefaultslicergadgetLabel'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/auto-refresh.png',
    group: 'customized',
    moreMenu: {
      hasMenu: false,
      menuList: []
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'nextticketviewgadget',
    title: i18nT('custom.dashboard.layoutItem.nextticketviewgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.nextticketviewgadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/place-holder.png',
    group: 'customized',
    x: 0,
    y: 0,
    w: 12,
    h: 94
  },
  {
    key: 'appstabsgadget',
    title: i18nT('custom.dashboard.layoutItem.appstabsgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.tabsgadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/place-holder.png',
    group: 'customized',
    // group: 'Published',
    x: 0,
    y: 0,
    w: 12,
    h: 94
  },
  {
    key: 'customizedbotdesign',
    title: i18nT('custom.dashboard.layoutItem.customizedbotdesignTitle'),
    label: i18nT('custom.dashboard.layoutItem.customizedbotdesigngadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/place-holder.png',
    group: 'customized',
    // group: 'Published',
    x: 0,
    y: 0,
    w: 12,
    h: 94
  },
  {
    key: 'customizedbotdetailinfogadget',
    title: i18nT('custom.dashboard.layoutItem.customizedbotdetailinfogadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.customizedbotdetailinfogadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/place-holder.png',
    group: 'customized',
    // group: 'Published',
    x: 0,
    y: 0,
    w: 12,
    h: 94
  },
  {
    key: 'customizedbotdetailrunhistorygadget',
    title: i18nT('custom.dashboard.layoutItem.customizedbotdetailrunhistorygadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.customizedbotdetailrunhistorygadgetLable'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/dashboard/place-holder.png',
    group: 'customized',
    // group: 'Published',
    x: 0,
    y: 0,
    w: 12,
    h: 94
  },
  {
    key: 'pvtablegadget',
    title: i18nT('custom.dashboard.layoutItem.pvtablegadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.pvtableLabel'),
    introduction: i18nT('custom.dashboard.layoutItem.pvtableIntroduction'),

    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/pivot_table.png',
    group: 'published',
    type: 'widget',
    status: 'Published',
    moreMenu: {
      hasMenu: true,
      hasBot: false,
      menuList: [{
        type: 'edit',
        label: 'Edit',
        icon: 'cuifont icon_edit'
      },
      {
        type: 'filter',
        label: 'Filter',
        icon: 'cuifont icon_filter'
      },
      {
        type: 'refresh',
        label: 'Refresh',
        icon: 'cuifont icon_arrow_clockwise'
      },
      {
        type: 'copyurl',
        label: 'Copy URL',
        icon: 'cuifont icon_copy_link'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }
      ]
    },
    x: 0,
    y: 0,
    w: 8,
    h: 24
  },
  {
    key: 'scorecardgadget',
    title: i18nT('custom.dashboard.layoutItem.scorecardgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.scorecardgadgetLabel'),
    introduction: i18nT('custom.dashboard.layoutItem.scorecardIntroduction'),

    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/score_card.png',
    group: 'published',
    type: 'widget',
    status: 'Published',
    moreMenu: {
      hasMenu: true,
      hasBot: true,
      menuList: [{
        type: 'edit',
        label: 'Edit',
        icon: 'cuifont icon_edit'
      },
      {
        type: 'filter',
        label: 'Filter',
        icon: 'cuifont icon_filter'
      },
      {
        type: 'refresh',
        label: 'Refresh',
        icon: 'cuifont icon_arrow_clockwise'
      },
      {
        type: 'copyurl',
        label: 'Copy URL',
        icon: 'cuifont icon_copy_link'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }
      ]
    },
    x: 0,
    y: 0,
    w: 8,
    h: 24
  },
  {
    key: 'jugglegadget',
    title: i18nT('custom.dashboard.layoutItem.jugglegadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.jugglegadgetLabel'),
    introduction: i18nT('custom.dashboard.layoutItem.juggleIntroduction'),

    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/score_card.png',
    group: 'inDev',
    type: 'widget',
    status: 'In-Dev',
    moreMenu: {
      hasMenu: true,
      hasBot: true,
      menuList: [{
        type: 'edit',
        label: 'Edit',
        icon: 'cuifont icon_edit'
      },
      {
        type: 'filter',
        label: 'Filter',
        icon: 'cuifont icon_filter'
      },
      {
        type: 'refresh',
        label: 'Refresh',
        icon: 'cuifont icon_arrow_clockwise'
      },
      {
        type: 'copyurl',
        label: 'Copy URL',
        icon: 'cuifont icon_copy_link'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }
      ]
    },
    x: 0,
    y: 0,
    w: 8,
    h: 24
  },
  {
    key: 'ganttgadget',
    title: i18nT('custom.dashboard.layoutItem.ganttgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.ganttgadgetLabel'),
    introduction: i18nT('custom.dashboard.layoutItem.ganttIntroduction'),

    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/gantt_chart.png',
    group: 'published',
    type: 'widget',
    status: 'Published',
    moreMenu: {
      hasMenu: true,
      hasBot: true,
      menuList: [{
        type: 'edit',
        label: 'Edit',
        icon: 'cuifont icon_edit'
      },
      {
        type: 'filter',
        label: 'Filter',
        icon: 'cuifont icon_filter'
      },
      {
        type: 'refresh',
        label: 'Refresh',
        icon: 'cuifont icon_arrow_clockwise'
      },
      {
        type: 'copyurl',
        label: 'Copy URL',
        icon: 'cuifont icon_copy_link'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }
      ]
    },
    x: 0,
    y: 0,
    w: 8,
    h: 24
  },
  {
    key: 'bar3dchartgadget',
    title: i18nT('custom.dashboard.layoutItem.bar3dchartgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.bar3dchartgadgetLabel'),
    introduction: i18nT('custom.dashboard.layoutItem.bar3dchartIntroduction'),

    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/transparent_bar_3d.png',
    group: 'published',
    type: 'widget',
    status: 'Published',
    moreMenu: {
      hasMenu: true,
      hasBot: true,
      menuList: [{
        type: 'edit',
        label: 'Edit',
        icon: 'cuifont icon_edit'
      },
      {
        type: 'filter',
        label: 'Filter',
        icon: 'cuifont icon_filter'
      },
      {
        type: 'refresh',
        label: 'Refresh',
        icon: 'cuifont icon_arrow_clockwise'
      },
      {
        type: 'copyurl',
        label: 'Copy URL',
        icon: 'cuifont icon_copy_link'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }
      ]
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'crudformplusgadget',
    title: i18nT('custom.dashboard.layoutItem.crudformplusgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.crudformplusgadgetLabel'),
    introduction: i18nT('custom.dashboard.layoutItem.crudformIntroduction'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/crud_form.png',
    group: 'in-dev',
    status: 'In-Dev',
    type: 'widget',
    moreMenu: {
      hasMenu: true,
      hasBot: false,
      menuList: [{
        type: 'edit',
        label: 'Edit',
        icon: 'cuifont icon_edit'
      },
      {
        type: 'filter',
        label: 'Filter',
        icon: 'cuifont icon_filter'
      },
      {
        type: 'refresh',
        label: 'Refresh',
        icon: 'cuifont icon_arrow_clockwise'
      },
      {
        type: 'copyurl',
        label: 'Copy URL',
        icon: 'cuifont icon_copy_link'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }
      ]
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'chartgridgadget',
    title: i18nT('custom.dashboard.layoutItem.chartgridgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.chartgridgadgetLabel'),
    introduction: i18nT('custom.dashboard.layoutItem.chartgridgadgetIntroduction'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/crud_form.png',
    group: 'in-dev',
    status: 'In-Dev',
    type: 'widget',
    moreMenu: {
      hasMenu: true,
      hasBot: false,
      menuList: [{
        type: 'edit',
        label: 'Edit',
        icon: 'cuifont icon_edit'
      },
      {
        type: 'filter',
        label: 'Filter',
        icon: 'cuifont icon_filter'
      },
      {
        type: 'refresh',
        label: 'Refresh',
        icon: 'cuifont icon_arrow_clockwise'
      },
      {
        type: 'copyurl',
        label: 'Copy URL',
        icon: 'cuifont icon_copy_link'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }
      ]
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'sunburstgadget',
    title: i18nT('custom.dashboard.layoutItem.sunburstgadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.sunburstgadgetLabel'),
    introduction: i18nT('custom.dashboard.layoutItem.sunburstgadgetTitle'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/sunburst.png',
    group: 'published',
    status: 'Published',
    type: 'widget',
    moreMenu: {
      hasMenu: true,
      hasBot: true,
      menuList: [
      {
        type: 'edit',
        label: 'Edit',
        icon: 'cuifont icon_edit'
      },
      {
        type: 'filter',
        label: 'Filter',
        icon: 'cuifont icon_filter'
      },
      {
        type: 'refresh',
        label: 'Refresh',
        icon: 'cuifont icon_arrow_clockwise'
      },
      {
        type: 'copyurl',
        label: 'Copy URL',
        icon: 'cuifont icon_copy_link'
      },
      {
        type: 'cloneto',
        label: 'Clone to',
        icon: 'cuifont icon_copy1'
      },
      {
        type: 'fullscreen',
        label: 'Full screen',
        icon: 'cuifont icon_fullscreen'
      }
      ]
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
    key: 'AIChartGadget',
    title: i18nT('custom.dashboard.layoutItem.aiChartGadgetTitle'),
    label: i18nT('custom.dashboard.layoutItem.aiChartGadgetLabel'),
    introduction: i18nT('custom.dashboard.layoutItem.aiChartGadgetIntroduction'),
    imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/line_chart.png',
    group: 'published',
    type: 'widget',
    status: 'Published',
    moreMenu: {
    
    },
    x: 0,
    y: 0,
    w: 6,
    h: 21
  },
  {
  key: 'apigridgadget',
  title: i18nT('custom.dashboard.layoutItem.apigridgadgetTitle'),
  label: i18nT('custom.dashboard.layoutItem.apigridgegadgetLable'),
  introduction: i18nT('custom.dashboard.layoutItem.processgaugeIntroduction'),
  imageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/grid.png',
  group: 'published',
  type: 'widget',
  status: 'Published',   
 moreMenu: {
    hasMenu: true,
    hasBot: false,
    menuList: [{
      type: 'edit',
      label: 'Edit',
      icon: 'cuifont icon_edit'
    },
    {
      type: 'filter',
      label: 'Filter',
      icon: 'cuifont icon_filter'
    },
    {
      type: 'refresh',
      label: 'Refresh',
      icon: 'cuifont icon_arrow_clockwise'
    },
    {
      type: 'copyurl',
      label: 'Copy URL',
      icon: 'cuifont icon_copy_link'
    }
    ]
  },
  x: 0,
  y: 0,
  w: 6,
  h: 21
}
]

export const noFilterGadgetType = ['treegridgadget', 'usertimezoneinfocardgadget', 'scorecardgadget', 'formviewdatagadget', 'autorefreshgadget', 'checkboxgadget', 'dateSlicer', 'dateRangeSlicer', 'dropdownlistgadget', 'cascadergadget', 'multiselectgadget', 'pageheadergadget', 'pageheadergadgetnexticket', 'deptdefaultslicergadget', 'customizedmultiselectgadget', 'customizeduserdropdownlistgadget', 'customizedusermultipledropdownlistgadget', 'runReport', '', 'enterinputgadget']

export const slicerGadgetTypeList = ['', 'pageheadergadget', 'pageheadergadgetnexticket', 'checkboxgadget', 'dateSlicer', 'dateRangeSlicer', 'dropdownlistgadget', 'cascadergadget', 'multiselectgadget', 'deptdefaultslicergadget', 'customizedmultiselectgadget', 'customizeduserdropdownlistgadget', 'customizedusermultipledropdownlistgadget', 'runReport', 'enterinputgadget']

export const defaultGadgetSettingList = [{
  gadgetType: 'cardnumbergadget',
  gadgetSetting: {
    titleFontSize: '16px',
    titleFontColor: '#000',
    title: '',
    footerTitle: '',
    footerTitleFontSize: '25px',
    footerTitleFontColor: '#666',
    valueFontSize: '100px',
    valueFontColor: '#000000',
    valueFontWeight: 'normal',
    IsCompare: false,
    maximum: 110,
    minimum: 10,
    colorCheck: 6, // 1: > 2: < 3:<= 4:>= 5:=  6:minimum max
    oneColor: 'red',
    twoColor: 'blue',
    threeColor: 'green',
    fourColor: 'black',
    fiveColor: 'yellow',
    maxColor: '#21C90B',
    minColor: '#FF0000',
    middleColor: '#E4F802',
    drillThroughStatus: true,
    drillThrough: {
      status: false,
      pageid: ''
    },
    backgroundImg: window.SITE_CONFIG['ossAddressURL'] + '/app/gadget/card-number-title-black.png',
    IsAutoRefresh: false,
    time: 15,
    formatStr: 'HH:mm:ss',
    valueFieldsName: 'value',
    headerTitle: '',
    headerDescription: ''
  },
  mappingForm (to, from) {
    to.valueFieldsName = from.valueFieldsName
    to.titleFontColor = from.titleFontColor
    to.title = from.title
    to.footerTitle = from.footerTitle
    to.footerTitleFontColor = from.footerTitleFontColor
    to.valueFontColor = from.valueFontColor
    to.valueFontWeight = from.valueFontWeight
    to.IsCompare = from.IsCompare
    to.maximum = from.maximum
    to.minimum = from.minimum
    to.maxColor = from.maxColor
    to.minColor = from.minColor
    to.middleColor = from.middleColor
  },
  transform(fields = []){
    fields = fields.map(item => item.name)
    return {
      ...cloneDeep(this.gadgetSetting),
      valueFieldsName: fields[0] || 'value',
      dynamic:true
    }
  }
},
{
  gadgetType: 'litikugadget',
  gadgetSetting: {
    drillThroughStatus: true,
    litikuymeasure:'',
    litikufenzu: '',
    litikuxdimension: '',
    litikuydimension: '',
  },
  mappingForm (to, from) {
    to.litikuymeasure = from.litikuymeasure
    to.litikufenzu = from.litikufenzu
    to.litikuxdimension = from.litikuxdimension
    to.litikuydimension = from.litikuydimension
  }
},
{
  gadgetType: 'usertimezoneinfocardgadget',
  gadgetSetting: {
    titleFontSize: '16px',
    titleFontColor: '#000',
    title: '',
    footerTitle: '',
    footerTitleFontSize: '25px',
    footerTitleFontColor: '#666',
    valueFontSize: '70px',
    valueFontColor: '#495057',
    drillThroughStatus: true,
    userId: null,
    valueFieldsName: 'value',
    headerTitle: '',
    headerDescription: '',
    hourTime: false,
    isShowAvatar: false
  },
  mappingForm (to, from) {
    to.userId = from.userId
    to.valueFieldsName = from.valueFieldsName
    to.titleFontColor = from.titleFontColor
    to.title = from.title
    to.footerTitle = from.footerTitle
    to.footerTitleFontColor = from.footerTitleFontColor
    to.valueFontColor = from.valueFontColor
    to.hourTime = from.hourTime
    to.isShowAvatar = from.isShowAvatar
  }
},
{
  gadgetType: 'processgaugegadget',
  gadgetSetting: {
    suffix: '',
    titleStyle: {
      size: '14',
      color: '#fff'
    },
    color: '#e5ce20',
    valueFontSize: '40',
    startText: '',
    endText: '',
    maximum: 100,
    drillThroughStatus: true,
    minimum: 0,
    backgroundImg: window.SITE_CONFIG['ossAddressURL'] + '/app/mspbots_theme_icon/process_gauge.png',
    valueFieldsName: 'value',
    headerTitle: '',
    headerDescription: '',
    titleStyleColor: '#fff',
    titleStyleSize: '14',
    step_color1: '#67e0e3',
    step_color2: '#37a2da',
    step_color3: '#fd666d',
    Thresholds: '',
    xAxisFontSize:''
  },
  mappingForm (to, from) {
    to.Thresholds = from.Thresholds
    to.xAxisFontSize = from.xAxisFontSize
    to.valueFieldsName = from.valueFieldsName
    to.suffix = from.suffix
    to.color = from.color
    to.startText = from.startText
    to.endText = from.endText
    to.minimum = from.minimum
    to.maximum = from.maximum
    if (!to.titleStyleSize) {
      to.titleStyleSize = from.titleStyleSize
    } else {
      to.titleStyleSize = from.titleStyleSize
    }
    if (!to.titleStyleColor) {
      to.titleStyleColor = from.titleStyleColor
    } else {
      to.titleStyleColor = from.titleStyleColor
    }
    if (!to.titleStyle) {
      to.titleStyle = {
        size: from.titleStyleSize,
        color: from.titleStyleColor
      }
    } else {
      if (!to.titleStyle.size) {
        to.titleStyle.size = from.titleStyleSize
      } else {
        to.titleStyle.size = from.titleStyleSize
      }
      if (!to.titleStyle.color) {
        to.titleStyle.color = from.titleStyleColor
      } else {
        to.titleStyle.color = from.titleStyleColor
      }
      to.step_color1 = from.step_color1
      to.step_color2 = from.step_color2
      to.step_color3 = from.step_color3
    }
  },
  transform(fields = []){
    fields = fields.map(item => item.name)
    return {
      ...cloneDeep(this.gadgetSetting),
      valueFieldsName: fields[0] || 'value',
      dynamic:true
    }
  }
},
{
  gadgetType: 'homepagegadget',
  gadgetSetting: {
    backgroundImageUrl: window.SITE_CONFIG['ossAddressURL'] + '/app/other/home-getstarted-background.png',
    titleText: 'Welcome to MSPbots!',
    titleColor: '#FFFFFF',
    titleFontSize: '18px',
    contentText: 'MORE AUTOMATION·MORE PROFIT',
    contentColor: '#FFFFFF',
    contetnFontSize: '12px',
    buttonText: 'Home',
    buttonColor: '#666666',
    buttonBackground: '#FFFFFF',
    buttonWidth: '80px',
    buttonRouter: '/Home'
  },
  mappingForm (to, from) {

  }
},
{
  gadgetType: 'scattergadget',
  gadgetSetting: {
    maximum: 100,
    valueFieldsNamegroupby: 'value',
    valueFieldsNamexAxis: 'value',
    valueFieldsNameyAxis: 'value',
    valueFieldsNamegradius: 'value',
    drillThroughStatus: true
  },
  mappingForm (to, from) {
    to.valueFieldsNamegroupby = from.valueFieldsNamegroupby
    to.valueFieldsNamexAxis = from.valueFieldsNamexAxis
    to.valueFieldsNameyAxis = from.valueFieldsNameyAxis
    to.valueFieldsNamegradius = from.valueFieldsNamegradius
    to.maximum = from.maximum
  },

},
{
  gadgetType: 'pvtablegadget',
  gadgetSetting: {
    headerTitle: '',
    headerDescription: '',
    wikiUrl: '',
    datasetLimit: '',
    datasetOrderBy: [],
    allowDrillThrough: true,
    showTooltip: true,
    allowExcelExport: true,
    allowConditionalFormatting: true,
    allowNumberFormatting: true,
    allowPdfExport: true,
    showToolbar: true,
    showGroupingBar: true,
    expandAll: false,
    isEmptyCellsTextContent:true,
    allowCalculatedField: true,
    displayOption: {
      view: 'Both'
    },
    chartSettings: {
      title: 'Sales Analysis',
      load: (args) => {
        let selectedTheme = location.hash.split('/')[1]
        selectedTheme = selectedTheme || 'Material'
        args.chart.theme = (selectedTheme.charAt(0).toUpperCase() +
          selectedTheme.slice(1))
      }
    },
    enableValueSorting: true,
    showFieldList: true,
    dataSourceSettings: {
      dataSource: [],
      values: [],
      formatSettings: [],
      columns: [],
      rows: [],
      filters: [],
      calculatedFieldSettings: []
    }

  },
  mappingForm (to, from) {
    to.showToolbar = from.showToolbar
    to.showGroupingBar = from.showGroupingBar
    to.expandAll = from.expandAll
    to.isEmptyCellsTextContent = from.isEmptyCellsTextContent
  },
  transform(){
    return {
      ...cloneDeep(this.gadgetSetting),
      dynamic:true
    }
  }
},
{
  gadgetType: 'scorecardgadget',
  gadgetSetting: {
    headerTitle: '',
    headerDescription: '',
    wikiUrl: '',
    datasetLimit: '',
    datasetOrderBy: [],
    fields: [],
    valueFieldsX: "snapshot_date",
    refreshCron: '',
    refreshCronData: null,
    timezoneId: '',
    userId: '',
    userName: '',
    benchMark: '',
    dateRange: [],
    drillThroughStatus: true,
    heading: '',
    dateInterval: '',
    showTrendLine: '',
    everyDayAt: false,
    lastDays: '',
    radio: 'daterange'
  },
  mappingForm (to, from) {
    to.headerTitle = from.headerTitle
    to.headerDescription = from.headerDescription
    to.wikiUrl = from.wikiUrl
    to.datasetLimit = from.datasetLimit
    to.datasetOrderBy = from.datasetOrderBy
    to.fields = from.fields
    to.valueFieldsX = from.valueFieldsX
    to.refreshCron = from.refreshCron
    to.refreshCronData = from.refreshCronData
    to.timezoneId = from.timezoneId
    to.userId = from.userId
    to.userName = from.userName
    to.benchMark = from.benchMark
    to.dateRange = from.dateRange
    to.heading = from.heading
    to.dateInterval = from.dateInterval
    to.showTrendLine = from.showTrendLine
    to.everyDayAt = from.everyDayAt
    to.lastDays = from.lastDays
    to.radio = from.radio
    to.num = from.num
    to.refreshCronStr = from.refreshCronStr
  },
  transform(fields = []){
    fields = fields.map(item => item.name)

    return {
      ...cloneDeep(this.gadgetSetting),
      fields: fields.length ? [fields[0]]:[],
      timezoneId:store.state.user.timezoneId,
      dynamic:true
    }
  }
},
{
  gadgetType: 'htmleditorgadget',
  gadgetSetting: {
    titleFontSize: '16px',
    titleFontColor: '#000',
    title: '',
    footerTitle: '',
    footerTitleFontSize: '25px',
    footerTitleFontColor: '#666',
    valueFontSize: '100px',
    valueFontColor: '#495057',
    IsCompare: false,
    maximum: 110,
    minimum: 10,
    colorCheck: 6, // 1: > 2: < 3:<= 4:>= 5:=  6:minimum max
    oneColor: 'red',
    twoColor: 'blue',
    threeColor: 'green',
    fourColor: 'black',
    fiveColor: 'yellow',
    maxColor: '#21C90B',
    minColor: '#FF0000',
    middleColor: '#E4F802',
    drillThroughStatus: true,
    drillThrough: {
      status: false,
      pageid: ''
    },
    backgroundImg: window.SITE_CONFIG['ossAddressURL'] + '/app/gadget/card-number-title-black.png',
    IsAutoRefresh: false,
    time: 15,
    formatStr: 'HH:mm:ss',
    valueFieldsName: 'value',
    isTextEdit: false,
    headerTitle: '',
    headerDescription: '',
    htmlValue: '',
    isCenter: false
  },
  mappingForm (to, from) {
    to.valueFieldsName = from.valueFieldsName
    to.isTextEdit = from.isTextEdit
    to.titleFontColor = from.titleFontColor
    to.title = from.title
    to.footerTitle = from.footerTitle
    to.footerTitleFontColor = from.footerTitleFontColor
    to.valueFontColor = from.valueFontColor
    to.IsCompare = from.IsCompare
    to.maximum = from.maximum
    to.minimum = from.minimum
    to.maxColor = from.maxColor
    to.minColor = from.minColor
    to.middleColor = from.middleColor
    to.isCenter = from.isCenter
  }
},
// {
//   gadgetType: 'treemapgadget',
//   gadgetSetting: {
//     theme: 'Material',
//     titleSettings: {
//       text: 'Car Sales by Country - 2017',
//       textStyle: {
//         size: '15px'
//       }
//     },
//     rangeColorValuePath: 'Sales',
//     useGroupingSeparator: true,
//     legendSettings: {
//       visible: true,
//       position: 'Top',
//       shape: 'Rectangle'
//     },
//     palette: ['#C33764', '#AB3566', '#993367', '#853169', '#742F6A', '#632D6C', '#532C6D', '#412A6F', '#312870', '#1D2671'],
//     tooltipSettings: {
//       visible: true
//     },
//     leafItemSettings: {
//       labelPath: 'Company',
//       border: {
//         color: 'white',
//         width: 0.5
//       }
//     },
//     weightValuePath: 'Sales',
//     levels: [{
//       groupPath: 'Continent',
//       border: {
//         color: 'white',
//         width: 0.5
//       }
//     }],
//     drillThroughStatus: true,
//     drillThrough: {
//       status: false,
//       pageid: ''
//     },
//     backgroundImg: 'https://oss.mspbots.ai/app/gadget/card-number-title-black.png',
//     IsAutoRefresh: false,
//     time: 15,
//     formatStr: 'HH:mm:ss',
//     valueFieldsName: 'value',
//     headerTitle: '',
//     headerDescription: '',
//     title: '',
//     labelPath: '',
//     valueFieldsNameMeasureY: '',
//     valueFieldsNameMeasureX: ''
//   },
//   mappingForm(to, from) {
//     to.valueFieldsNameMeasureY = from.valueFieldsNameMeasureY
//     to.rangeColorValuePath = from.valueFieldsNameMeasureY
//     to.weightValuePath = from.valueFieldsNameMeasureY
//     to.valueFieldsNameMeasureX = from.valueFieldsNameMeasureX
//     to.leafItemSettings.labelPath = from.valueFieldsNameMeasureX
//     // to.rangeColorValuePath = from.valueFieldsName
//     // to.weightValuePath = from.valueFieldsName
//     // to.titleFontColor = from.titleFontColor
//     to.title = from.title
//     to.titleSettings.text = from.title
//     to.tooltipSettings.format = `\$\{${from.valueFieldsNameMeasureX}\} : \$\{${from.valueFieldsNameMeasureY}\}`
//     // to.footerTitle = from.footerTitle
//     // to.footerTitleFontColor = from.footerTitleFontColor
//     // to.valueFontColor = from.valueFontColor
//     // to.IsCompare = from.IsCompare
//     // to.maximum = from.maximum
//     // to.minimum = from.minimum
//     // to.maxColor = from.maxColor
//     // to.minColor = from.minColor
//     // to.middleColor = from.middleColor
//   }
// },
{
  gadgetType: 'drilldowntreemapgadget',
  gadgetSetting: {
    palette: ['#9999ff', '#CCFF99', '#FFFF99', '#FF9999', '#FF99FF', '#FFCC66'],
    titleSettings: {
      text: '',
      textStyle: {
        size: '15px'
      }
    },
    enableDrillDown: true,
    useGroupingSeparator: true,
    weightValuePath: '',
    tooltipSettings: {
      visible: true,
      format: ''
    },
    leafItemSettings: {
      labelPath: '',
      showLabels: false,
      labelStyle: {
        size: '0px'
      },
      border: {
        color: 'black',
        width: 0.5
      }
    },
    levels: [{
      groupPath: 'Continent',
      border: {
        color: 'black',
        width: 0.5
      }
    },
    {
      groupPath: 'States',
      border: {
        color: 'black',
        width: 0.5
      }
    },
    {
      groupPath: 'Region',
      showHeader: true,
      border: {
        color: 'black',
        width: 0.5
      }
    },
    ],
    labelswidth: 120,
    title: '',
    valueFieldsNameLevel1: '',
    valueFieldsNameLevel2: '',
    valueFieldsNameLevel3: '',
    valueFieldsNameLabel: '',
    valueFieldsNameValue: '',
    drilldownview: false,
    breadcrumb: false,
    headeralignment: 'Near',
    labelalignment: 'Near'
  },
  mappingForm (to, from) {
    to.drilldownview = from.drilldownview
    to.breadcrumb = from.breadcrumb
    to.headeralignment = from.headeralignment
    to.labelalignment = from.labelalignment
    to.title = from.title
    to.valueFieldsNameLabel = from.valueFieldsNameLabel
    to.valueFieldsNameValue = from.valueFieldsNameValue
    to.valueFieldsNameLevel1 = from.valueFieldsNameLevel1
    to.valueFieldsNameLevel2 = from.valueFieldsNameLevel2
    to.valueFieldsNameLevel3 = from.valueFieldsNameLevel3
    to.titleSettings.text = from.title
    to.tooltipSettings.format = `\$\{${from.valueFieldsNameLabel}\} : \$\{${from.valueFieldsNameValue}\}`
    to.weightValuePath = from.valueFieldsNameValue
    to.leafItemSettings.labelPath = from.valueFieldsNameLabel
  }
},
{
  gadgetType: 'RemoteGadget',
  gadgetSetting: {
   
  },
  mappingForm: function (to, from) {
  
  }
},
{
  gadgetType: 'AIChartGadget',
  gadgetSetting: {
   
  },
  mappingForm: function (to, from) {
  
  }
},
{
  gadgetType: 'RemoteGadget',
  gadgetSetting: {
   
  },
  mappingForm: function (to, from) {
  
  }
},
{
  gadgetType: 'barchartgadget',
  gadgetSetting: {
    title: '',
    type: 'StackingColumn', // Column -- many bar // StackingColumn -- Stacking bar //Bar StackingColumn  // Bar --Bar
    valueFieldsNameMeasureX: 'x',
    valueFieldsNameMeasureY: 'y',
    valueFieldsNameMeasureL: '',
    valueFieldsNameMeasureGroup: '',
    valueFieldsNameManyY: [],
    manyMeasure: false,
    gridHeight: '85%',
    gridTop: '11%',
    xName: '',
    yName: '',
    drillThroughStatus: true,
    primaryXAxis: {
      valueType: 'Category',
      interval: 1,
      labelIntersectAction: 'Rotate45',
      labelPosition: 'Outside',
      majorGridLines: {
        width: 0
      },
      minorGridLines: {
        width: 0
      },
      majorTickLines: {
        width: 0
      },
      minorTickLines: {
        width: 0
      }
    },
    primaryYAxis: {
      majorGridLines: {
        width: 0
      },
      majorTickLines: {
        width: 0
      },
      minorGridLines: {
        width: 1
      },
      minorTickLines: {
        width: 0
      },
      lineStyle: {
        width: 0
      },
      labelStyle: {
        color: 'transparent'
      }
    },
    chartArea: {
      border: {
        width: 0
      }
    },
    zoomSettings: {
      mode: 'X',
      enableMouseWheelZooming: false,
      enablePinchZooming: false,
      enableSelectionZooming: false,
      enableScrollbar: false
    },
    width: '100%',
    marker: {
      dataLabel: {
        visible: true,
        position: 'Top',
        font: {
          fontWeight: '600',
          color: '#ffffff'
        }
      }
    },
    tooltip: {
      enable: true
    },
    headerTitle: '',
    headerDescription: '',
    color: ['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc'],
    goal: '',
    goalcolor: '#5470c6',
    labelFontSize: 12,
    xAxisFontSize: 12,
    showTrendLine: '',
    yAxisPercentage: false,
    showYaxisRight: false,
    YaxisRightLabel: '',
    yAxismax: 1,
    yAxismin: 0,
    rightyAxisPercentage: false,
    useRightyAxis: [],
    yAxisNameLocation: 'end',
    yAxisNameGap: 10,
    yAxisnameRotate: 0,
    showlabel: true,
    splitLineShow: false,
    stackedStatistics: false,
    stackedStatisticsSort: '',
    quillContent: ''
  },
  mappingForm: function (to, from) {
    to.showColumnLimit = from.showColumnLimit
    to.title = from.title
    to.type = from.type
    to.valueFieldsNameMeasureX = from.valueFieldsNameMeasureX
    to.valueFieldsNameMeasureY = from.valueFieldsNameMeasureY
    to.valueFieldsNameMeasureL = from.valueFieldsNameMeasureL
    to.valueFieldsNameMeasureGroup = from.valueFieldsNameMeasureGroup
    to.valueFieldsNameManyY = from.valueFieldsNameManyY
    to.manyMeasure = from.manyMeasure
    to.gridHeight = from.gridHeight
    to.gridTop = from.gridTop
    to.xName = from.xName
    to.yName = from.yName
    to.color = from.color
    to.goal = from.goal
    to.goalcolor = from.goalcolor
    to.labelFontSize = from.labelFontSize
    to.xAxisFontSize = from.xAxisFontSize
    to.showTrendLine = from.showTrendLine
    to.yAxisPercentage = from.yAxisPercentage
    to.showYaxisRight = from.showYaxisRight
    to.YaxisRightLabel = from.YaxisRightLabel
    to.yAxismax = from.yAxismax
    to.yAxismin = from.yAxismin
    to.rightyAxisPercentage = from.rightyAxisPercentage
    to.useRightyAxis = from.useRightyAxis
    to.yAxisNameGap = from.yAxisNameGap
    to.yAxisNameLocation = from.yAxisNameLocation
    to.yAxisnameRotate = from.yAxisnameRotate
    to.showlabel = from.showlabel
    to.splitLineShow = from.splitLineShow
    to.stackedStatistics = from.stackedStatistics
    to.stackedStatisticsSort = from.stackedStatisticsSort
    to.quillContent = from.quillContent
  },
  transform(fields = []){
    fields = fields.map(item => item.name)
    return {
      ...cloneDeep(this.gadgetSetting),
      valueFieldsNameMeasureX: fields[0] || 'x',
      valueFieldsNameMeasureY: fields[1] || 'y',
      dynamic:true
    }
  }
},

{
  gadgetType: 'radarchartgadget',
  gadgetSetting: {
    title: '',
    valueFieldsNameMeasureX: '',
    valueFieldsNameManyY: [],
    gridHeight: '85%',
    gridTop: '11%',
    drillThroughStatus: true,
    tooltip: {
      enable: true
    },
    axisLabel:true,

    color: ['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc'],

    labelFontSize: 12,
    xAxisFontSize: 12,
  },
  mappingForm: function (to, from) {
    to.title = from.title
    to.valueFieldsNameMeasureX = from.valueFieldsNameMeasureX
    to.valueFieldsNameMeasureY = from.valueFieldsNameMeasureY
    to.valueFieldsNameMeasureL = from.valueFieldsNameMeasureL
    to.valueFieldsNameMeasureGroup = from.valueFieldsNameMeasureGroup
    to.valueFieldsNameManyY = from.valueFieldsNameManyY
    to.manyMeasure = from.manyMeasure
    to.gridHeight = from.gridHeight
    to.gridTop = from.gridTop
    to.color = from.color
    to.labelFontSize = from.labelFontSize
    to.xAxisFontSize = from.xAxisFontSize
    to.axisLabel = from.axisLabel
 
  },
},
{
  gadgetType: 'tablegadget',
  gadgetSetting: {
    columnDimesion: '',
    rowDimesion: '',
    valueMeasure: '',
    drillThroughStatus: true,
    allowPaging:true
  },
  mappingForm: function (to, from) {
    to.columnDimesion = from.columnDimesion
    to.rowDimesion = from.rowDimesion
    to.valueMeasure = from.valueMeasure
    to.allowPaging = from.allowPaging
  }
},

{
  gadgetType: 'charthourglassgadget',
  gadgetSetting: {
    title: '',
    type: 'funnel', // Column -- many bar // StackingColumn -- Stacking bar //Bar StackingColumn  // Bar --Bar
    valueFieldsNameMeasureX: '',
    valueFieldsNameMeasureY: '',
    valueFieldsNameMeasureL: '',
    valueFieldsNameMeasureGroup: 'group',
    valueFieldsNameManyY: [],
    funnelListStorage: null,
    manyMeasure: false,
    xName: '',
    yName: '',
    drillThroughStatus: true,
    primaryXAxis: {
      valueType: 'Category',
      interval: 1,
      labelIntersectAction: 'Rotate45',
      labelPosition: 'Outside',
      majorGridLines: {
        width: 0
      },
      minorGridLines: {
        width: 0
      },
      majorTickLines: {
        width: 0
      },
      minorTickLines: {
        width: 0
      }
    },
    primaryYAxis: {
      majorGridLines: {
        width: 0
      },
      majorTickLines: {
        width: 0
      },
      minorGridLines: {
        width: 1
      },
      minorTickLines: {
        width: 0
      },
      lineStyle: {
        width: 0
      },
      labelStyle: {
        color: 'transparent'
      }
    },
    chartArea: {
      border: {
        width: 0
      }
    },
    zoomSettings: {
      mode: 'X',
      enableMouseWheelZooming: false,
      enablePinchZooming: false,
      enableSelectionZooming: false,
      enableScrollbar: false
    },
    width: '100%',
    marker: {
      dataLabel: {
        visible: true,
        position: 'Top',
        font: {
          fontWeight: '600',
          color: '#ffffff'
        }
      }
    },
    tooltip: {
      enable: true
    },
    headerTitle: '',
    headerDescription: ''
  },
  mappingForm: function (to, from) {
    to.headerTitle = from.headerTitle
    to.headerDescription = from.headerDescription
    to.title = from.title
    to.type = from.type
    to.valueFieldsNameMeasureX = from.valueFieldsNameMeasureX
    to.valueFieldsNameMeasureY = from.valueFieldsNameMeasureY
    to.valueFieldsNameMeasureL = from.valueFieldsNameMeasureL
    to.valueFieldsNameMeasureGroup = from.valueFieldsNameMeasureGroup
    to.valueFieldsNameManyY = from.valueFieldsNameManyY
    to.manyMeasure = from.manyMeasure
    to.xName = from.xName
    to.yName = from.yName
    to.funnelListStorage = from.funnelListStorage
  },
  transform(fields = []){
    fields = fields.map(item => item.name)
    return {
      ...cloneDeep(this.gadgetSetting),
      valueFieldsNameMeasureX: fields[0] || '',
      valueFieldsNameMeasureY: fields[1] || '',
      valueFieldsNameMeasureL: '2',
      dynamic:true
    }
  }
},
{
  gadgetType: 'autorefreshgadget',
  gadgetSetting: {
    time: 15,
    btnName: 'Auto Refresh',
    cssClass: 'e-info '
  },
  mappingForm (to, from) {
    to.time = from.time
    to.btnName = from.btnName
    to.cssClass = from.cssClass
  }
},
// {
//   gadgetType: 'processgaugegadget',
//   gadgetSetting: {
//     title: 'Progress',
//     titleStyle: { size: '14', color: '#fff' },
//     color: '#e5ce20',
//     valueFontSize: '40',
//     startText: '',
//     endText: '',
//     maximum: 0,
//     drillThroughStatus: true,
//     minimum: 0,
//     backgroundImg: 'https://oss.mspbots.ai/app/gadget/card-number-title-black.png',
//     valueFieldsName: 'value',
//     headerTitle: '',
//     headerDescription: '',
//     titleStyleColor:'#fff',
//     titleStyleSize:'14'
//   },
//   mappingForm (to, from) {
//     to.valueFieldsName = from.valueFieldsName
//     to.title = from.title
//     to.color = from.color
//     to.startText = from.startText
//     to.endText = from.endText
//     to.minimum = from.minimum
//     to.maximum = from.maximum
//     if(!to.titleStyleSize){
//       to.titleStyleSize= from.titleStyleSize
//     }else{
//       to.titleStyleSize= from.titleStyleSize
//     }
//     if(!to.titleStyleColor){
//       to.titleStyleColor=from.titleStyleColor
//     }else{
//       to.titleStyleColor=from.titleStyleColor
//     }
//     if(!to.titleStyle){
//       to.titleStyle={
//         size:from.titleStyleSize,
//         color:from.titleStyleColor
//       }
//     }else{
//       if(!to.titleStyle.size){
//         to.titleStyle.size= from.titleStyleSize
//       }else{
//         to.titleStyle.size= from.titleStyleSize
//       }
//       if(!to.titleStyle.color){
//         to.titleStyle.color= from.titleStyleColor
//       }else{
//         to.titleStyle.color= from.titleStyleColor
//       }
//     }
//   }
// },
{
  gadgetType: 'pageheadergadget',
  gadgetSetting: {
    icon: 'el-icon-warning-outline',
    haderImg: window.SITE_CONFIG['ossAddressURL'] + '/app/gadget/page-header-gadget.png',
    headerTitleFontSize: '16px',
    headerTitleFontColor: '#000',
    headerTitle: '',
    headerDescription: null,
    menuList: [],
    filters: [],
    filtersList: [],
    filtersGroupName: '',
    showRefresh: true,
    showClone: true,
    showFilter: true
  },
  mappingForm (to, from) { }
},
{
  gadgetType: 'pageheadergadgetnexticket',
  gadgetSetting: {
    icon: 'el-icon-warning-outline',
    haderImg: window.SITE_CONFIG['ossAddressURL'] + '/app/gadget/page-header-gadget.png',
    headerTitleFontSize: '16px',
    headerTitleFontColor: '#000',
    headerTitle: '',
    headerDescription: null,
    menuList: [],
    filters: [],
    filtersList: [],
    filtersGroupName: '',
    showRefresh: true,
    showClone: true,
    showFilter: true
  },
  mappingForm (to, from) { }
},
{
  gadgetType: 'appstabsgadget',
  gadgetSetting: {
    icon: 'el-icon-warning-outline',
    haderImg: window.SITE_CONFIG['ossAddressURL'] + '/app/gadget/page-header-gadget.png',
    headerTitleFontSize: '16px',
    headerTitleFontColor: '#000',
    headerTitle: '',
    headerDescription: null,
    menuList: [],
    filters: [],
    slicer: {},
    filtersList: [],
    filtersGroupName: '',
    tabsList: [{
      name: "Tab",
      gadgets: []
    }],
  },
  mappingForm (to, from) { }
},
{
  gadgetType: 'customizedmultiselectgadget',
  gadgetSettingExclude: ['DATA'],
  gadgetSetting: {
    slicer: {
      key: 'queryParams',
      dbType: "text"
    },
    placeholder: 'Select',
    Mode: 'CheckBox', // 'Box',// 'Delimiter',
    popHeight: '350px',
    filterPlaceholder: 'Search Users',
    showSelectAll: true,
    showDropDownIcon: true,
    enableSelectionOrder: true,
    allowFiltering: true,
    fields: {
      text: 'text',
      value: 'value'
    },
    height: '220px',
    queryParams: 'tenantCode',
    Listdata: [{
      text: 'text',
      value: 'value'
    }],
    filters: ''
  },
  mappingForm (to, from) { }
},
{
  gadgetType: 'cardicon',
  gadgetSetting: {
    iconFontSize: '30px',
    iconFontColor: '#fb434a',
    icon: 'el-icon-chat-dot-square',
    titleFontSize: '14px',
    titleFontColor: '#74788d',
    title: 'revenue',
    valueFontSize: '26px',
    valueFontColor: '#495057',
    value: '$290,000',
    title2: 'disbolock',
    title2FontSize: '14px',
    title2FontColor: '#74788d',
    value2FontColor: '#495057',
    value2FontSize: '26px',
    backgroundImg: window.SITE_CONFIG['ossAddressURL'] + '/app/gadget/card-line-background.png',
    IsContrast: false,
    calculationSymbol: 1, // 1:sum 2:max 3:min 4:average 5:count
    contrastName: '',
    valueFieldsName: 'value',
    valueFieldsNameMeasure2: 'value2'

  },
  mappingForm (to, from) {
    to.title = from.title
    to.title2 = from.title2
    to.titleFontColor = from.titleFontColor
    to.title2FontColor = from.title2FontColor
    to.valueFontColor = from.valueFontColor
    to.value2FontColor = from.value2FontColor
    to.valueFieldsName = from.valueFieldsName
    to.valueFieldsNameMeasure2 = from.valueFieldsNameMeasure2
  }
},
{
  gadgetType: 'placeholdergadget',
  gadgetSetting: {
    titleFontSize: '14px',
    titleFontColor: '#74788d',
    title: '',
    backgroundImg: window.SITE_CONFIG['ossAddressURL'] + '/app/gadget/comming-soon.png',
    headerTitle: '',
    headerDescription: '',
    transparentBackground: false
  },
  mappingForm (to, from) { }
},
{
  gadgetType: 'cardlablegadget',
  gadgetSetting: {
    titleFontSize: '14px',
    titleFontColor: '#000000',
    title: '',
    valueFontSize: '46px',
    valueFontColor: '#000000',
    value: '',
    footerTitleFontSize: '14px',
    footerTitleFontColor: '#000000',
    footerTitle: '',
    backgroundImg: window.SITE_CONFIG['ossAddressURL'] + '/app/gadget/default-white.png',
    headerTitle: '',
    headerDescription: ''
  },
  mappingForm (to, from) {
    to.titleFontColor = from.titleFontColor
    to.title = from.title
    to.valueFontColor = from.valueFontColor
    to.value = from.value
    to.footerTitleFontColor = from.footerTitleFontColor
    to.footerTitle = from.footerTitle
  }
},
{
  gadgetType: 'kpigadget',
  gadgetSetting: {
    kpigadgetTitle: 'KPI',
    benchMarkTitle: 'Benchmark',
    benchmarkValue: 0,
    redColor: '#f56c6c',
    redValue: 80,
    greenColor: '#16e426',
    greenValue: 50,
    yellowColor: '#e6a23c',
    yellowValue: 20,
    headerTitle: '',
    headerDescription: ''
  },
  mappingForm (to, from) { }
},
{
  gadgetType: 'multiselectgadget',
  gadgetSetting: {
    placeholder: 'Select',
    Mode: 'CheckBox', // 'Box',// 'Delimiter',
    popHeight: '350px',
    filterPlaceholder: 'Search Users',
    showSelectAll: true,
    showDropDownIcon: true,
    enableSelectionOrder: true,
    fields: {
      text: 'text',
      value: 'value'
    },
    height: '220px',
    queryParams: 'tenantCode',
    show: false,
    name: '',
    description: '',
    filters: ''
  },
  mappingForm (to, from) {
    to.placeholder = from.placeholder
    to.filterPlaceholder = from.filterPlaceholder
    to.mode = from.mode
    to.queryParams = from.queryParams
    to.name = from.name
    to.description = from.description
  }
},
{
  gadgetType: 'cardlinegadget',
  gadgetSetting: {
    cardSetting: {
      headerTitle: 'Revenue',
      headerColor: '#666666',
      headerBackGroundColor: '#F8F8F8',
      headerFontSize: '20px',
      GoalTitle: 'Goal',
      GoalValue: 0,
      GoalColor: 'red',
      GoalFontSize: '20px',
      cardTitle: 'Actual',
      cardColor: 'green',
      cardFontSize: '20px',
      toolTipContent: ''
    },
    lineSetting: {
      width: 500,
      type: 'Line',
      xName: '',
      yName: '',
      name: '',
      title: '',
      primaryXAxis: {
        title: 'Months',
        valueType: 'DateTime',
        labelFormat: 'YY/MM',
        intervalType: 'Months',
        edgeLabelPlacement: 'Shift',
        majorGridLines: {
          width: 0
        }
      },
      primaryYAxis: {
        title: '',
        labelFormat: 'P',
        rangePadding: 'None',
        lineStyle: {
          width: 0
        },
        majorTickLines: {
          width: 0
        },
        minorTickLines: {
          width: 0
        }
      },
      chartArea: {
        border: {
          width: 0
        }
      },
      marker: {
        visible: true,
        height: 10,
        width: 10
      },
      tooltip: {
        enable: true
      }
    },
    headerTitle: '',
    headerDescription: ''
  },
  mappingForm (to, from) {

  },
  transform(fields = []){
    fields = fields.map(item => item.name)
    return {
      ...cloneDeep(this.gadgetSetting),
      valueFieldsNameMeasureX: fields[0] || 'x',
      valueFieldsNameMeasureY: fields[1] || 'y',
      dynamic:true
    }
  }

},
{
  gadgetType: 'chartgadget',
  gadgetSetting: {
    type: 'Line',
    xName: 'Default X',
    yName: 'Default Y',
    yAxisNameLocation: 'end',
    yAxisNameGap: 10,
    name: '',
    nameTextStyle: {
      align: 'left'
    },
    title: '',
    gridHeight: '85%',
    gridTop: '11%',
    valueFieldsNameMeasureX: 'x',
    valueFieldsNameMeasureY: 'y',
    valueFieldsNameMeasureGroup: '',
    valueFieldsNameManyY: [],
    manyMeasure: false,
    isCumulative: false,
    drillThroughStatus: true,
    primaryXAxis: {
      title: 'Title',
      valueType: 'Category',
      // labelFormat: 'MM/dd',
      // intervalType: 'Days',
      // edgeLabelPlacement: 'Shift',
      labelIntersectAction: 'Rotate45',
      majorGridLines: {
        width: 0
      }
    },
    primaryYAxis: {
      title: 'Count',
      labelFormat: '{value}',
      rangePadding: 'None',
      minimum: 0,
      maximum: 500,
      interval: 100,
      lineStyle: {
        width: 0
      },
      majorTickLines: {
        width: 0
      },
      minorTickLines: {
        width: 0
      }
    },
    chartArea: {
      border: {
        width: 0
      }
    },
    marker: {
      visible: true,
      height: 10,
      width: 10
    },
    tooltip: {
      enable: true
    },
    goal: '',
    goalcolor: '#5470c6',
    smooth: false,
    showYaxisRight: false,
    YaxisRightLabel: '',
    yAxismax: null,
    yAxismin: null,
    yAxisValueMin: null,
    yAxisValueMax: null,
    yAxisValueInterval: null,
    rightyAxisPercentage: false,
    useRightyAxis: [],
    headerTitle: '',
    headerDescription: '',
    yAxisPercentage: false,
    axisLabelRotate: 315,
    showTrendLine: '',
    showlabel: true,
    splitLineShow: false,
    connectNulls: false,
    area: false
  },
  mappingForm (to, from) {
    to.title = from.title
    to.type = from.type
    to.gridHeight = from.gridHeight
    to.gridTop = from.gridTop
    to.xName = from.xName
    to.yName = from.yName
    to.valueFieldsNameMeasureX = from.valueFieldsNameMeasureX
    to.valueFieldsNameMeasureY = from.valueFieldsNameMeasureY
    to.valueFieldsNameMeasureGroup = from.valueFieldsNameMeasureGroup
    to.primaryXAxis.title = from.xName
    to.primaryYAxis.title = from.yName
    to.valueFieldsNameManyY = from.valueFieldsNameManyY
    to.manyMeasure = from.manyMeasure
    to.isCumulative = from.isCumulative
    to.yAxisNameLocation = from.yAxisNameLocation
    to.yAxisNameGap = from.yAxisNameGap
    to.yAxisPercentage = from.yAxisPercentage
    to.goal = from.goal
    to.goalcolor = from.goalcolor
    to.smooth = from.smooth
    to.showYaxisRight = from.showYaxisRight
    to.showYaxisRight = from.showYaxisRight
    to.YaxisRightLabel = from.YaxisRightLabel
    to.yAxismax = from.yAxismax
    to.yAxismin = from.yAxismin
    to.rightyAxisPercentage = from.rightyAxisPercentage
    to.useRightyAxis = from.useRightyAxis
    to.axisLabelRotate = from.axisLabelRotate
    to.showTrendLine = from.showTrendLine
    to.showlabel = from.showlabel
    to.splitLineShow = from.splitLineShow
    to.connectNulls = from.connectNulls
    to.area = from.area
    to.yAxisValueMin = from.yAxisValueMin
    to.yAxisValueMax = from.yAxisValueMax
    to.yAxisValueInterval = from.yAxisValueInterval
  },
  transform(fields = [], source = {}){
    fields = fields.map(item => item.name)
    return {
      ...cloneDeep(this.gadgetSetting),
      valueFieldsNameMeasureX: fields[0] || 'x',
      valueFieldsNameMeasureY: fields[1] || 'y',
      dynamic:true
    }
  }
},
{
  gadgetType: 'piechartgadget',
  gadgetSetting: {
    pieName: '',
    name: '',
    theme: 'Material',
    title: '',
    valueFieldsNameMeasureX: 'x',
    valueFieldsNameMeasuresubX: '',
    valueFieldsNameMeasureY: 'y',
    valueFieldsNameMeasureText: 'text',
    drillThroughStatus: true,
    legendSettings: {
      visible: true
    },
    tooltip: {
      enable: true,
      format: '$' + `{point.x} : <b>$` + `{point.y}</b>`
    },
    enableAnimation: true,
    center: {
      x: '50%',
      y: '50%'
    },
    Thresholds: '',
    startAngle: '0',
    endAngle: '360',
    radius: '70%',
    explodeOffset: '10%',
    explodeIndex: 0,
    dataLabel: {
      visible: true,
      position: 'Outside', //Inside
      name: 'text',
      font: {
        fontWeight: '600'
      }
    },
    headerTitle: '',
    headerDescription: ''
  },
  mappingForm (to, from) {
    to.title = from.title
    to.valueFieldsNameMeasureX = from.valueFieldsNameMeasureX
    to.valueFieldsNameMeasuresubX = from.valueFieldsNameMeasuresubX
    to.valueFieldsNameMeasureY = from.valueFieldsNameMeasureY
    to.valueFieldsNameMeasureText = from.valueFieldsNameMeasureText
    to.dataLabel.name = from.valueFieldsNameMeasureText
    to.pieName = from.pieName,
      to.Thresholds = from.Thresholds
  },
  transform(fields = []){
    fields = fields.map(item => item.name)
   
    const [valueFieldsNameMeasureX='x',valueFieldsNameMeasureY='y'] = fields
    return {
      ...cloneDeep(this.gadgetSetting),
      dynamic:true,
      valueFieldsNameMeasureX,
      valueFieldsNameMeasureY,
     
    }
  }
},
{
  gadgetType: 'heatmapgadget',
  gadgetSetting: {
    title: null,
    dimension: null,
    dimensionName: null,
    measure: null,
    measureName: null,
    label: null,
    labelName: null,
    tooltipName: null,
    showLabel: true,
    minValue: null,
    maxValue: null,
    orient: 'horizontal',
    gridTop: '10%',
    leftSideDistance: 'center',
    bottomSideDistance: '10',
    isTotal: false,
    color: ['#e60d00', '#dbe182', '#008000']

  },
  mappingForm (to, from) {
    to.title = from.title
    to.dimension = from.dimension
    to.dimensionName = from.dimensionName
    to.measure = from.measure
    to.measureName = from.measureName
    to.label = from.label
    to.labelName = from.labelName
    to.tooltipName = from.tooltipName
    to.showLabel = from.showLabel
    to.minValue = from.minValue
    to.maxValue = from.maxValue
    to.orient = from.orient
    to.gridTop = from.gridTop
    to.leftSideDistance = from.leftSideDistance
    to.bottomSideDistance = from.bottomSideDistance
    to.isTotal = from.isTotal
    to.color = from.color
  },
  transform(fields = [], source = {}){
    fields = fields.map(item => item.name)
    return {
      ...cloneDeep(this.gadgetSetting),
      dimensionName:'Dimension Name',
      measureName:'Measure Name',
      dimension: fields[0],
      measure: fields[1],
      label: fields[1],
      dynamic:true
    }
  }
},
{
  gadgetType: 'checkboxgadget',
  gadgetSetting: {
    label: '',
    queryParams: 'checkboxValue',
    trueValue: true,
    falseValue: false,
    autoRunReport: false,
    defaultValue: null
  },
  mappingForm (to, from) {
    to.label = from.label
    to.queryParams = from.queryParams
    to.trueValue = from.trueValue
    to.falseValue = from.falseValue
  }
},
{
  gadgetType: 'circulargauge',
  gadgetSetting: {
    gaugeRadius: '80%',
    title: '',
    titleColor: '#27d5ff',
    // titleSize: "",
    valueFieldsName: 'value',
    startAngle: 230,
    endAngle: 130,
    majorTicks: {
      width: 0
    },
    lineStyle: {
      width: 10,
      color: 'transparent'
    },
    minorTicks: {
      width: 0
    },
    ranges: [{
      start: 0,
      end: 30,
      color: '#30B32D'
    },
    {
      start: 30,
      end: 70,
      color: '#FFDD00'
    },
    {
      start: 70,
      end: 100,
      color: '#F03E3E'
    }
    ],
    labelStyle: {
      font: {
        fontFamily: 'Roboto',
        size: '12px',
        fontWeight: 'Regular'
      },
      offset: -5
    },
    pointerRadius: '60%',
    pointerWidth: 7,
    cap: {
      radius: 8,
      border: {
        width: 0
      }
    },
    needleTail: {
      length: '25%'
    },
    headerTitle: '',
    headerDescription: ''
  },
  mappingForm (to, from) {
    to.valueFieldsName = from.valueFieldsName
    to.gaugeRadius = from.gaugeRadius
    to.title = from.title
    to.titleColor = from.titleColor
  }

},
{
  gadgetType: 'dateSlicer',
  gadgetSetting: {
    dateDefaultSetting: {
      format: 'yyyy-MM-dd',
      start: '',
      depth: '',
      minDate: new Date('1/1/1990'),
      maxDate: new Date('1/1/2125'),
      show: false,
      name: '',
      description: ''
    }
  },
  mappingForm (to, from) { }
},
{
  gadgetType: 'dateRangeSlicer',
  gadgetSetting: {
    selectDate: 'weekStartDate',
    label: '',
    slicer: {
      key: 'queryParams',
      dbType: "datetime"
    },
    queryParams: ["dateFrom", "dateTo"],
    dateRangeDefaultSetting: {
      format: 'yyyy-MM-dd',
      start: '',
      depth: '',
      minDay: 0,
      maxDay: 0,
      minDate: new Date('10/1/2019'),
      maxDate: new Date('1/1/2025'),
      show: false,
      name: '',
      description: '',
      // defaultOneDate: false,
    }
  },
  mappingForm (to, from) {
    to.selectDate = from.selectDate
  }
},
{
  gadgetType: 'dropdownlistgadget',
  gadgetSetting: {
    showClearButton: 'true',
    watermark: 'Select a Client',
    allowFiltering: true,
    filterPlaceholder: '',
    fields: {
      text: 'text',
      value: 'value'
    },
    height: '220px',
    queryParams: [],
    show: false,
    name: '',
    description: '',
    slicer: {
      key: 'queryParams',
      dbType: "text"
    },
    toText: 'text',
    toValue: 'value',
    multiplemode: [],
    filterLabel: '',
    defaultSelected: '0'
  },
  mappingForm (to, from) {
    to.multiplemode = from.multiplemode
    to.watermark = from.watermark
    to.toText = from.toText
    to.toValue = from.toValue
    to.fields.text = from.toText
    to.fields.value = from.toValue
    to.filterLabel = from.filterLabel
    if (Array.isArray(from.queryParams)) {
      to.queryParams[0] = from.queryParams[0]
    } else {
      to.queryParams = []
      to.queryParams[0] = from.queryParams
    }
    to.defaultSelected = from.defaultSelected
  }
},
{
  gadgetType: 'enterinputgadget',
  gadgetSetting: {
    watermark: 'Input a text',
    queryParams: [],
    name: '',
    description: '',
    slicer: {
      key: 'queryParams',
      dbType: "text"
    },
    filterLabel: '',
    func: {
      input_type: ''
    }
  },
  mappingForm (to, from) {
    to.watermark = from.watermark
    to.filterLabel = from.filterLabel
    if (Array.isArray(from.queryParams)) {
      to.queryParams[0] = from.queryParams[0]
    } else {
      to.queryParams = []
      to.queryParams[0] = from.queryParams
    }
  }
},
{
  gadgetType: 'cascadergadget',
  gadgetSetting: {
    queryParams: [],
    headerTitle: '',
    headerDescription: '',
    text: '',
    value: '',
    watermark: 'Select a Client',
    filterlabel: '',
    height: '220px',
    multiplemode: false,
    associatedFields: [{
      name: '',
      value: ''
    }],
    slicer: {
      key: 'queryParams',
      dbType: 'text'
    }
  },
  mappingForm (to, from) {
    to.associatedFields = from.associatedFields
    to.text = from.text
    to.filterlabel = from.filterlabel
    to.value = from.value
    to.watermark = from.watermark
    to.multiplemode = from.multiplemode
    if (Array.isArray(from.queryParams)) {
      to.queryParams[0] = from.queryParams[0]
    } else {
      to.queryParams = []
      to.queryParams[0] = from.queryParams
    }
  }
},
{
  gadgetType: 'customizeduserdropdownlistgadget',
  gadgetSettingExclude: ['DATA'],
  gadgetSetting: {
    showClearButton: 'true',
    allowFiltering: true,
    filterPlaceholder: 'Search',
    height: '220px',
    queryParams: ['user_id'],
    watermark: 'Please Select a User',
    slicer: {
      key: 'queryParams',
      dbType: "number"
    }
  },
  mappingForm (to, from) {

  }
},
{
  gadgetType: 'grid',
  gadgetSetting: {
    headerTitle: '',
    headerDescription: ''
  },
  mappingForm (to, from) { }
},
{
  gadgetType: 'gridgadget',
  gadgetSetting: {
    headerTitle: '',
    headerDescription: '',
    drillThroughStatus: true,
    report: {
      fontsize: 14,
      showColumnMenu: true,
      allowResizing: true,
      allowFiltering: true,
      showExportOption: false,
      gridStyle:'Data Grid',
      filterSettings: {
        type: 'Excel'
      },
      allowGrouping: false,
      allowPaging: true,
      allowExcelExport: true,
      allowPdfExport: true,
      autoFit:true,
      autoRatio:false,
      autoScroll:false,
      scrollSpeed:8,
      toolbar: [],
      showColumnChooser: true,
      groupOptions: {
        columns: ['name']
      },
      allowReordering: true,
      allowSorting: true,
      allowTextWrap: true,
      pageSettings: {
        pageSize: 100,
        pageSizes: [10, 50, 100, 200, 1000],
        pageCount: 4
      },
      groupSettings: {
        allowReordering: false,
        columns: [],
        disablePageWiseAggregates: false,
        enableLazyLoading: false,
        showDropArea: true,
        showGroupedColumn: false,
        showToggleButton: false
      },
      columns: []

    }
  },
  mappingForm (to, from) {
    to.report.columns = from.report.columns
    to.report.gridLines = from.report.gridLines
    to.report.allowPaging = from.report.allowPaging
    to.report.toolbar = from.report.toolbar
    to.report.allowGrouping = from.report.allowGrouping
    to.report.fontsize = from.report.fontsize
    to.report.autoFit = from.report.autoFit
    to.report.autoRatio = from.report.autoRatio
    to.report.autoScroll = from.report.autoScroll
    to.report.scrollSpeed = from.report.scrollSpeed
    to.report.showExportOption = from.report.showExportOption
    to.report.gridStyle = from.report.gridStyle
  },
  transform(fields = [],source = {}){
    const columns = fields.map(item => ({
      field: item.name,
      headerText: item.name,
      textAlign: item.dbType === 'number' ? 'Right' : 'Left',
      allowEditing: true,
      allowFiltering: true,
      allowGrouping: false,
      showExportOption: false,
      allowReordering: true,
      allowSearching: true,
      allowSorting: true,
      autoFit: true,
      autoRatio:false,
      autoScroll: false,
      disableHtmlEncode: false,
      enableGroupByFormat: false,
      foreignKeyField: item.name,
      showColumnMenu: true,
      showInColumnChooser: true,
      sortDirection: 'Descending',
      type: item.dbType,
      template: null,
      visible: true,
      showSetting: false,
      headerTextTooltip: null,
      maxWidth: 'auto',
      aggregates: item.type === 'number' ? []: undefined, 
      decimalPoint: item.type === 'number' ? 2: undefined, 
    }))


    fields = fields.map(item => item.name)

    let gadgetSetting = cloneDeep(this.gadgetSetting)

    gadgetSetting.report.columns = columns

    return {
      ...gadgetSetting,
      headerTitle: source.headerTitle,
      dynamic:true
    }
  }
},
{
  gadgetType: 'checklistgadget',
  gadgetSetting: {
    headerTitle: '',
    headerDescription: '',
    drillThroughStatus: true,
    report: {
      showColumnMenu: true,
      allowResizing: true,
      allowFiltering: true,
      filterSettings: {
        type: 'Excel'
      },
      allowGrouping: true,
      allowPaging: true,
      allowExcelExport: true,
      allowPdfExport: true,
      showExportOption: false,
      toolbar: [],
      showColumnChooser: true,
      groupOptions: {
        columns: ['name']
      },
      allowReordering: true,
      allowSorting: true,
      allowTextWrap: true,
      pageSettings: {
        pageSize: 100,
        pageSizes: [10, 50, 100, 200, 1000],
        pageCount: 4
      },
      groupSettings: {
        allowReordering: false,
        columns: [],
        disablePageWiseAggregates: false,
        enableLazyLoading: false,
        showDropArea: true,
        showGroupedColumn: false,
        showToggleButton: false
      },
      columns: []

    }
  },
  mappingForm (to, from) {
    to.report.columns = from.report.columns
    to.report.gridLines = from.report.gridLines
    to.report.allowPaging = from.report.allowPaging
    to.report.toolbar = from.report.toolbar,
      to.report.showExportOption = from.report.showExportOption
  }
},
{
  gadgetType: 'hierarchygridgadget',
  gadgetSetting: {
    headerTitle: '',
    headerDescription: '',
    drillThroughStatus: true,
    report: {
      showColumnMenu: true,
      allowResizing: true,
      allowFiltering: true,
      filterSettings: {
        type: 'Excel'
      },
      allowGrouping: true,
      allowPaging: true,
      showExportOption: false,
      allowExcelExport: true,
      allowPdfExport: true,
      toolbar: [],
      showColumnChooser: true,
      groupOptions: {
        columns: ['name']
      },
      allowReordering: true,
      allowSorting: true,
      allowTextWrap: true,
      pageSettings: {
        pageSize: 100,
        pageSizes: [10, 50, 100, 200, 1000],
        pageCount: 4
      },
      groupSettings: {
        allowReordering: false,
        columns: [],
        disablePageWiseAggregates: false,
        enableLazyLoading: false,
        showDropArea: true,
        showGroupedColumn: false,
        showToggleButton: false
      },
      columns: []

    }
  },
  mappingForm (to, from) {
    to.report.columns = from.report.columns
    to.report.gridLines = from.report.gridLines
    to.report.allowPaging = from.report.allowPaging
    to.report.associatedFields = from.report.associatedFields
    to.report.toolbar = from.report.toolbar
    to.report.showExportOption = from.report.showExportOption
  }
},
{
  gadgetType: 'crudformgadget',
  gadgetSetting: {
    headerTitle: '',
    headerDescription: '',
    drillThroughStatus: true,
    report: {
      formList: '',
      formData: '',
      showExportOption: false,
      showColumnMenu: true,
      allowResizing: true,
      allowFiltering: true,
      filterSettings: {
        type: 'Excel'
      },
      allowGrouping: false,
      showExportOption: false,
      allowPaging: true,
      allowExcelExport: true,
      allowPdfExport: true,
      toolbar: [],
      showColumnChooser: true,
      groupOptions: {
        columns: ['name']
      },
      allowReordering: true,
      allowSorting: true,
      allowTextWrap: true,
      pageSettings: {
        pageSize: 100,
        pageSizes: [10, 50, 100, 200, 1000],
        pageCount: 4
      },
      groupSettings: {
        allowReordering: false,
        columns: [],
        disablePageWiseAggregates: false,
        enableLazyLoading: false,
        showDropArea: false,
        showGroupedColumn: false,
        showToggleButton: false
      },
      columns: [],
      showHeader:false,
      toolbarEventList: [],
      columnEventList: []
    },
    showDeleteButton:true,
    showSelection:true,
    showSearch:true,
    showLineNumbers:false
  },
  mappingForm (to, from) {
    to.report.columns = from.report.columns
    to.report.formList = from.report.formList
    to.report.formData = from.report.formData
    to.report.allowPaging = from.report.allowPaging
    to.report.toolbar = from.report.toolbar
    to.report.allowGrouping = from.report.allowGrouping
    to.report.showExportOption = from.report.showExportOption
    to.report.showHeader=from.report.showHeader
    to.report.toolbarEventList = from.report.toolbarEventList
    to.report.columnEventList=from.report.columnEventList
    to.showDeleteButton = from.showDeleteButton
    to.showSelection = from.showSelection
    to.showSearch = from.showSearch
    to.showLineNumbers = from.showLineNumbers
  }
},
{
  gadgetType: 'formviewdatagadget',
  gadgetSetting: {
    headerTitle: '',
    headerDescription: '',
    drillThroughStatus: true,
    formCode: '',
    formTitle: '',
    formId: '',
    formSchema: {},
    formVersion: '',
    roles: []
  },
  mappingForm (to, from) {

    to.formCode = from.formCode
    to.formTitle = from.formTitle
    to.formId = from.formId
    to.formSchema = from.formSchema
    to.formVersion = from.formVersion
    to.roles = from.roles

  }
},
{
  gadgetType: 'kanbangadget',
  gadgetSetting: {
    columnsList: [{
      label: 'To Do',
      status: 'Open'
    },
    {
      label: 'In Progress',
      status: 'InProgress'
    },
    {
      label: 'Testing',
      status: 'Testing'
    },
    {
      label: 'Done',
      status: 'Close'
    }
    ],
    cardSettings: {
      contentField: 'Summary',
      headerField: 'Id',
      tagsField: 'Tags',
      grabberField: 'Color',
      footerCssField: 'ClassName'
    },
    headerTitle: '',
    headerDescription: ''
  },
  mappingForm (to, from) { }
},
{
  gadgetType: 'customizedbotdetailinfogadget',
  gadgetSetting: {
    icon: 'el-icon-warning-outline',
    haderImg: window.SITE_CONFIG['ossAddressURL'] + '/app/gadget/page-header-gadget.png',
    headerTitleFontSize: '16px',
    headerTitleFontColor: '#000',
    headerTitle: '',
    headerDescription: null,
    // menuList: [],
    // filters: [],
    slicer: {}
    // filtersList: [],
    // filtersGroupName: '',
    // tabsList: []
  },
  mappingForm (to, from) { }
},
{
  gadgetType: 'customizedbotdetailrunhistorygadget',
  gadgetSetting: {
    icon: 'el-icon-warning-outline',
    haderImg: window.SITE_CONFIG['ossAddressURL'] + '/app/gadget/page-header-gadget.png',
    headerTitleFontSize: '16px',
    headerTitleFontColor: '#000',
    headerTitle: '',
    headerDescription: 'Bot run history',
    // menuList: [],
    // filters: [],
    slicer: {},
    isPage: false
    // filtersList: [],
    // filtersGroupName: '',
    // tabsList: []
  },
  mappingForm (to, from) { }
},
{
  gadgetType: 'attendancegadget',
  gadgetSetting: {
    headerTitle: '',
    headerDescription: ''
  },
  mappingForm (to, from) { }
},
{
  gadgetType: 'treegridgadget',
  gadgetSetting: {
    headerTitle: '',
    headerDescription: '',
    drillThroughStatus: true,
    report: {
      searchSettings: {},
      sortSettings: {},
      filterSettings: {},
      toolbar: ['ColumnChooser'],
      allowSorting: true,
      allowTextWrap: true,
      allowPaging: true,
      subtasks: '',
      groupFields: '',
      pageSettings: {
        pageSize: 100,
        pageSizes: [10, 50, 100, 200, 1000],
        pageCount: 4
      },
      columns: [

      ]
    }
  },
  mappingForm (to, from) {
    to.report.columns = from.report.columns
    to.report.allowPaging = from.report.allowPaging
    to.report.toolbar = from.report.toolbar
    to.report.subtasks = from.report.subtasks
    to.report.groupFields = from.report.groupFields
  }
},
{
  gadgetType: 'jugglegadget',
  gadgetSetting: {
    headerTitle: '',
    headerDescription: '',
    width: 800,
    height: 500,
    bg: undefined,
    fontSize: 12,
    sources: [],
    source: {},
    field: undefined,
    type: undefined
  },
  mappingForm (to, from) {
    to.columns = from.columns
    to.source = from.source
    to.field = from.field
    to.width = from.width
    to.height = from.height
    to.sources = from.sources
    to.bg = from.bg
  }
},
{
  gadgetType: 'ganttgadget',
  gadgetSetting: {
    headerTitle: '',
    headerDescription: '',
    columns: [
      // {
      //   headerText: 'ID',
      //   show: false,
      //   field: undefined,
      //   width: 80,
      //   taskField: 'id'
      // },
      {
        headerText: 'Task Name',
        show: false,
        field: undefined,
        taskField: 'name'
      },
      {
        headerText: 'Resources',
        show: false,
        field: undefined
      },
      {
        headerText: 'Start Date',
        show: false,
        field: undefined,
        taskField: 'startDate'
      },
      {
        headerText: 'End Date',
        show: false,
        field: undefined,
        taskField: 'endDate'
      },
      {
        headerText: 'Duration',
        show: false,
        field: undefined,
        taskField: 'duration'
      },
      {
        headerText: 'Progress',
        show: false,
        field: undefined,
        taskField: 'progress'
      },
      // {
      //   headerText: 'Dependency',
      //   show: false,
      //   field: undefined,
      //   taskField: 'dependency'
      // }

    ],

    group: {
      headerText: 'Group',
      show: false,
      field: undefined
    },

    topTier: {
      show: true,
      count: 1,
      format: 'MMM dd, yyyy',
      unit: 'Year',
    },
    bottomTier: {
      show: true,
      count: 1,
      format: '',
      unit: 'Day'
    },

  },
  mappingForm (to, from) {
    to.columns = from.columns
    to.group = from.group
    to.topTier = from.topTier
    to.bottomTier = from.bottomTier
  }
},
{
  gadgetType: 'recordgadget',
  gadgetSetting: {
    headerTitle: '',
    headerDescription: ''
  },
  mappingForm (to, from) { }
},
{
  gadgetType: 'usergadget',
  gadgetSetting: {
    headerTitle: '',
    headerDescription: ''
  },
  mappingForm (to, from) { }
},
{
  gadgetType: 'botsgadget',
  gadgetSetting: {
    headerTitle: '',
    headerDescription: ''
  },
  mappingForm (to, from) { }
},
{
  gadgetType: 'workschedulegadget',
  gadgetSetting: {
    headerTitle: '',
    headerDescription: ''
  },
  mappingForm (to, from) { }
},
{
  gadgetType: '',
  gadgetSetting: {
    headerTitle: '',
    headerDescription: ''
  },
  mappingForm (to, from) { }
},
{
  gadgetType: 'bar3dchartgadget',
  gadgetSetting: {
    headerTitle: null,
    headerDescription: null,
    xaxis3d: null,
    xaxis3dname: null,
    yaxis3d: null,
    yaxis3dname: null,
    zaxis3d: null,
    zaxis3dname: null,
    showlabel: null,
    maxvalue: 10,
    minvalue: 0,
    calculable: true,
    drillThroughStatus: true,
  },
  mappingForm: function (to, from) {
    to.headerTitle = from.headerTitle
    to.headerDescription = from.headerDescription
    to.xaxis3d = from.xaxis3d
    to.xaxis3dname = from.xaxis3dname
    to.yaxis3d = from.yaxis3d
    to.yaxis3dname = from.yaxis3dname
    to.zaxis3d = from.zaxis3d
    to.zaxis3dname = from.zaxis3dname
    to.showlabel = from.showlabel
    to.maxvalue = from.maxvalue
    to.minvalue = from.minvalue
    to.calculable = from.calculable
  }
},
{
  gadgetType: 'crudformplusgadget',
  gadgetSetting: {
    headerTitle: '',
    headerDescription: '',
    drillThroughStatus: true,
    showHeader: true,
    report: {
      showColumnMenu: true,
      allowResizing: true,
      allowFiltering: true,
      showExportOption: false,
      filterSettings: {
        type: 'Excel'
      },
      allowGrouping: false,
      allowPaging: true,
      allowExcelExport: true,
      allowPdfExport: true,
      toolbar: [],
      showColumnChooser: true,
      groupOptions: {
        columns: ['name']
      },
      allowReordering: true,
      allowSorting: true,
      allowTextWrap: true,
      pageSettings: {
        pageSize: 100,
        pageSizes: [10, 50, 100, 200, 1000],
        pageCount: 4
      },
      groupSettings: {
        allowReordering: false,
        columns: [],
        disablePageWiseAggregates: false,
        enableLazyLoading: false,
        showDropArea: false,
        showGroupedColumn: false,
        showToggleButton: false
      },
      columns: [],
      toolbarEventList: [],
      columnEventList: []
    },
    showSelection:true,
    showSearch:true,
    showLineNumbers:false
    
  },
  mappingForm (to, from) {
    to.report.columns = from.report.columns
    to.report.allowPaging = from.report.allowPaging
    to.report.toolbar = from.report.toolbar
    to.report.toolbarEventList = from.report.toolbarEventList
    to.report.columnEventList = from.report.columnEventList
    to.report.showExportOption = from.report.showExportOption
    to.showSelection = from.showSelection
    to.showSearch = from.showSearch
    to.showHeader = from.showHeader
    to.report.allowGrouping = from.report.allowGrouping
    to.showLineNumbers = from.showLineNumbers
  }
},
{
  gadgetType: 'chartgridgadget',

  gadgetSetting: {
    snapshotFrequency: '',
    chartsType: 'Line',
    benchMark: '',
    dateField: '',
    groupValueField: '',
    kpiValueField: '',
    timeFrameField: '',
    userType: '',
    drillThroughStatus: true,
    formCode:'',
    dataId:'',
    chart: {
      setSmooth: false,
      yAxisShow: true,
      measure: '',
      yAxisNameLocation: 'end',
      yAxisNameGap: '',
      min: '',
      max: '',
      interval: ''
    },
    grid: {
      showPaging: true
    }
  },
  mappingForm (to, from) {
    to.snapshotFrequency = from.snapshotFrequency,
      to.chartsType = from.chartsType,
      to.benchMark = from.benchMark,
      to.dateField = from.dateField,
      to.groupValueField = from.groupValueField,
      to.kpiValueField = from.kpiValueField,
      to.timeFrameField = from.timeFrameField,
      to.userType = from.userType,
      to.formCode = from.formCode,
      to.dataId = from.dataId
      to.chart = from.chart
      to.grid = from.grid
  }
},
{
  gadgetType: 'sunburstgadget',
  gadgetSetting: {
    title: null,
    dimension: null,
    measure: null,
    radius: '90%',
    sort: null,
    showLabel: true,
    align: 'center',
    minAngle: 30,
    resultData:null,
    quillContent: ''
  },
  mappingForm (to, from) {
    to.title = from.title
    to.dimension = from.dimension
    to.measure = from.measure
    to.radius = from.radius
    to.sort = from.sort
    to.showLabel = from.showLabel
    to.align = from.align
    to.minAngle = from.minAngle
    to.resultData = from.resultData
    to.quillContent = from.quillContent
  }
},
{
  gadgetType: 'apigridgadget',
   gadgetSetting: {
     headerTitle: null,
     headerDescription: null,
     report: {
       gridLines: 'Both',
       showColumnMenu: true,
       allowResizing: true,
       allowFiltering: true,
       filterSettings: { type: 'Excel' },
       allowGrouping: false,
       allowPaging: true,
       allowExcelExport: true,
       allowPdfExport: true,
       toolbar: [],
       showColumnChooser: true,
       groupOptions: {
         columns: ['name']
       },
       allowReordering: true,
       allowSorting: true,
       allowTextWrap: true,
       pageSettings: {
         pageSize: 100,
         pageSizes: [10, 50, 100, 200, 1000],
         pageCount: 4
       },
       groupSettings: {
         allowReordering: false,
         columns: [],
         disablePageWiseAggregates: false,
         enableLazyLoading: false,
         showDropArea: false,
         showGroupedColumn: false,
         showToggleButton: false
       },
       columns: [],
       toolbarEventList: [],
       columnEventList: []
     },
     apiURL: '',
     method: '',
     requestData: {}
   },
   mappingForm (to, from) {
     to.report.columns = from.report.columns
     to.report.gridLines = from.report.gridLines
     to.report.allowPaging = from.report.allowPaging
     to.report.toolbar = from.report.toolbar
     to.report.showHeader = from.report.showHeader
     to.report.toolbarEventList = from.report.toolbarEventList
     to.report.columnEventList = from.report.columnEventList
     to.apiURL = from.apiURL
     to.method = from.method
     to.requestData = from.requestData
   }
 },
]
